- 第2章 GPUと専用計算機の仕組み
章トップ(目次)
2-1 GPUとは何か
2-2 並列計算モデル(SIMD / SIMT)
2-3 GPUのメモリ階層と帯域
2-4 スレッド管理とスケジューリング
2-5 GPUが得意な処理・不得意な処理
2-6 GRAPE計算機の誕生
2-7 GRAPE-1の構造と思想
2-8 GRAPE-DRとASIC化
2-9 CPUとGPUの違い
2-10 専用計算機の思想とFPGAへの継承
▶ 第3章 FPGAの仕組みへ
専用計算機が必要だった理由 ― GRAPE-1誕生の背景
CPU・FPUによる天体シミュレーションの限界
1980年代後半から1990年代初頭にかけて、
天体シミュレーションは計算機科学における
最も計算量の大きい問題の一つでした。
N体問題では、粒子数をNとすると、
重力計算は原理的に O(N²) の計算量を必要とします。
このため、
- クロック周波数を上げる
- FPUを高速化する
といった従来型CPUの進化では、
根本的な解決にならないことが明らかでした。
特に当時のFPUは、
- 逐次実行が前提
- 分岐・正規化・丸め処理を含む重い命令
- 命令デコードと制御回路のオーバーヘッドが大きい
という特徴を持ち、
「同じ計算を大量に繰り返す」天体計算には
本質的に不向きでした。
「計算をしない」という発想
そこで生まれたのが、
後にGRAPE-1と呼ばれる
専用天体計算機です。
GRAPE-1の最も革新的な点は、
演算を行わない
という、当時としては極めて異端な発想でした。
GRAPE-1では、
- 計算対象を8ビット精度に限定
- 考えうる入力と出力の対応を事前に計算
- その結果をROMに格納
し、実行時には
ROMを参照するだけ
という方式を採用しました。
これは、
論理演算ではなく
メモリアクセスで計算を置き換える
という設計思想です。
ROMアクセス=計算完了
この構成により、
- 加算器も
- 乗算器も
- 正規化回路も
一切不要となりました。
処理時間は純粋に
ROMのアクセス速度のみ
で決まり、
外から見ると
「計算が瞬時に終わった」
かのように振る舞います。
これは後のGPUやAIアクセラレータで一般化する
テーブル参照による高速化
を、極端な形で先取りした例といえます。
ユニバーサル基板とラッピング配線
GRAPE-1は、
特別なLSIや高価な製造設備を使わず、
- ユニバーサル基板
- ラッピング配線
によって構成されました。
これは、
- 理論を実機で検証する
- 誰でも再現可能な形で作る
という研究姿勢を明確に示しています。
20万円で完成した専用計算機
GRAPE-1の製作費用は、
約20万円でした。
当時のスーパーコンピュータと比較すると、
桁違いに低コストでありながら、
- 天体計算に限れば
- 既存計算機を圧倒する性能
を示しました。
ここで重要なのは、
CPUを高速化したのではない
計算モデルそのものを回路化した
という点です。
この思想は後に、
- GRAPE-DR(ASIC)
- FPGAアクセラレータ
- AI向け専用チップ
へと受け継がれていくことになります。