研究の前半において、重力・クーロン相互作用に専用化した、ピーク性能200 テラフロップス程度の専用プロセッサを開発するとともに、粒子系に専用化し たアーキテクチャを持つが相互作用を計算するパイプラインを再構成可能論理 (FPGA、Field Programmable Gate Array)で実現した多用途粒子系プロセッ サを開発する。このプロセッサの性能は、応用にもよるがテラフロップス程度 となろう(図3)。後半においては、これらと汎用の並列計算 機を組み合わせたヘテロジニアス・マルチコンピュータを実現し、天体シミュ レーション、分子動力学計算、粒子的アプローチでの流体計算などに応用する。 問題に専用化したプロセッサは特定の問題については汎用計算機に比べて2-3 桁高い絶対性能を実現できる。FPGAを使ったプロセッサは、集積度において専 用プロセッサに劣るが、そのかわり多様な問題に適用可能である。我々のアプ ローチは、FPGA を高度に専用化したプロセッサと組合せることで、双方の長 所をいかす、つまり、FPGA の ある程度の汎用性と専用プロセッサの高速性を 同時に実現しようというものであり、現在のところ世界でも他に例を見ないも のである。
以下、重力・クーロン相互作用専用プロセッサと、多用途粒子系プロセッサに ついてその概略をまとめる。
計算速度の目標は 200 Tflops とする。このために、 50 Gflops 程度の演算速度 をもつプロセッサチップを 4096個並列に動作させる。プロセッサチップは、 粒子間相互作用を計算するパイプラインを6本格納し、 150 MHz程度 のシステムク ロックで動作する。各パイプラインはサイクル毎に60演算を行なう。従ってプ ロセッサチップ単体のピーク性能は 54 Gflops、消費電力は 10W程度となる見 込みである。
基板1枚に16プロセッサをのせてプロセッシングボードとし、プロセッシング ボード16枚とコミュニケーションボード1枚で1クラスタ、16クラスタでシステ ム全体を構成する。これらの16のクラスタは、インターフェースを集中制御す るコントロールユニットを介してホスト計算機に接続される。なお、実装に際 しては2クラスタを1ラックにまとめる。ラック当たりの発熱量は5KWとなり、 強制空冷でそれほど問題はない。また、トータルの発熱量は 40 KW 程度とな る。
ホスト計算機とコントロールユニットの通信速度は最低2 GB/s 程度が必要に なる。なるべく多様な応用を可能にするためには、それ以上の通信速度がある ことが望ましいので、必要に応じて拡張可能な構成とする。
プロセッサチップはスタンダードセルによるセミカスタムLSIとして開発する。 設計ルールは現在利用可能な を用い、180万ゲート程度を集 積する。プロセッサチップは、ほぼ GRAPE-4 のプロセッシングボードを単一 のLSIに集積するものであり、メモリとホストへの通信ネットワークへのイン ターフェースを持つ。メモリとの転送バンド幅は 1 GB/s、ネットワークへの バンド幅は 200MB/s(双方向)程度となる予定である。図4に プロセッサチップの構成を示す。
プロセッサボード内およびボード間のネットワークのトポロジーと物理的な実 装方式についての詳細はここでは省略するが、ボード間通信にはパラレル・シ リアル変換を使った LVDS (Low Voltage Differential Signal) による高速転 送を使う方向で検討を進めている。LVDS を採用したのは、距離に制限はある ものの Gigabit Ethernet や IEEE-1394 等に比べても安価で高速な通信が可 能であるからである。
こちらは、計算速度などに明確な目標を設定することは難しい。これは、実効 性能が応用の種類、特に必要な計算精度によって大きく変わるからである、
1999年初頭の時点で、最大のFPGA チップは公称ゲート数で 20万程度である。20万ゲー トという数はGRAPE-4のプロセッサチップの2倍であり、例えば単精度(32 bit)の浮動小数点演算器ならば20個程度集積できるはずである。
実際には、特に乗算器などに使った場合にはそれほどの規模のものが集積でき るわけではなく、現状では実効ゲート数で 5万程度である。言い換えれば、 単精度の演算器で5個程度であり、倍精度の演算はぎりぎり可能という程度に なる。
しかしながら、必要とする計算精度が例えば12ビットであれば、20個以上 の演算器が集積でき、かなり複雑な計算を行なうパイプラインを実現可能であ る。
本プロジェクトで開発する多用途粒子系プロセッサでは、以下を目標にする。
主要部の演算精度に単精度を要求した場合で、チップ単体の性能は1Gflops、 システム全体の性能は1Tflops程度となる。これはもっとも悪い場合で、例え ば実効的な精度が12ビット程度で良ければ4Tflops、さらに8ビット程度なら 10Tflops以上の速度が期待できる。
システム構成としては、重力/クーロン力用計算機と同様に各プロセッサチップ がメモリユニットを持つ構成とし、プロセッサボードやホストとの接続インター フェースのハード・ソフトについては重力/クーロン力用計算機と完全に同一の ものを利用することで開発の手間を押える。