next up previous
Next: 6 GRAPE-6 --- 次世代機 Up: GRAPE プロジェクト Previous: 4 GRAPE-1 と GRAPE-2

5 GRAPE-3 と GRAPE-4 --- カスタム LSI による超並列機

GRAPE-2 と同様に浮動小数点 LSI を使って、改良版の GRAPE-2A や HARP-1 などを作ったが、それらについては省略し、はじめてカスタム LSI を使った GRAPE-3 とその高精度版の GRAPE-4 をみていこう。

GRAPE-3 は富士ゼロックス電子技術総合研究所との共同研究で開発し た。具体的な作業分担は、ビットレベルの演算仕様記述と C 言語によるその シミュレータを東大側で開発し、それにもとづいてゼロックス側で詳細な論理 設計をするというものである。 GRAPE-1 のパイプラインを若干高精度にし、 またROM による演算をロジックによるものに変更して回路規模を小さくした。

最初はこのチップを 24 個載せたボードを2枚作り、 GRAPE-3 と名付けた(図 4)。これはいろいろ問題があり、クロック 10 MHz 程度でし か動作しなかったが、それでも2枚合わせたピーク性能が 14.4 Gflops とそれ までの GRAPE の100倍程度になった。その後、細かな設計変更をし、プリント基板化した GRAPE-3A を開発した。こちらは 20-25MHz で問題なく動作するようになった。GRAPE-3A は現在も(株) ジャ パン-EM から販売されており、現在世界各国の約30 箇所で計80枚ほどが使わ れているようである。

  
図 4: GRAPE-3。

GRAPE-3 や 3A では複数のチップが並列に動作する。並列化のしかたは極めて 安易であり、メモリはボード上の全パイプラインチップに、同一のデータを放 送する。各チップのレジスタには別の位置データを書き、それぞれが違う粒子 への力を計算するわけである。この形の並列化には、並列度を増やしても必要 なメモリバンド幅が増えないという大きな特徴がある。

GRAPE-3 の成功もあって、首尾良く文部省から科研費特別推進研究をいただく ことができたので、 1992年度から高精度版の GRAPE-4 の開発にかかった。こ ちらは約2000チップを並列化して 1 Tflops以上を実現することを目指 した。

ボード1つには48個の重力計算パイプラインを載せ、 GRAPE-3 の場合と同様メ モリを共有する。さらに、「仮想マルチパイプライン」名付けた方法を使って、 重力計算パイプラインチップはボード全体の2倍のクロックで動作し、見かけ 上2本パイプラインが入っているようにみえるようにした。このため、96個の 粒子への力が並列に計算される。

システム全体は36枚のボードからなり、それらはそれぞれ違う粒子から同じ96 個の粒子への力を計算する。これを、途中の集計用のハードウェアとホスト計 算機の2段階のツリー構造で合計する。このような階層的なネットワークを使 うことで、2000 本近いパイプラインを効率的に利用できている。

GRAPE-4 は当初の計画通り 1995年夏に完成し、ピーク 速度 1.08 Tflopsを実現した。これは専用計算機ではあるが科学技 術計算用計算機としては世界で初めてテラフロップスを越える性能を達成した ものであり、 1995年、 1996年と連続して IEEE のゴードン・ベル賞を獲得す ることができた。図5にGRAPE-4 を示す。

  
図 5: GRAPE-4。

GRAPE-4 の科学的な成果としては、最初に述べた球状星団の進化の計算を 3万 2千体まで行ない、「重力熱力学的振動」と名付けられた非線形振動が実際に 起こるということを実証することができた。その後は、月の形成から銀河、銀 河団まであらゆるスケールの問題に適用され、重要な成果をあげてきた。これ らについては最近 Science 誌に書いたレビュー[6]をごら んいただきたい。



Jun Makino
Mon Jun 14 18:22:57 JST 1999