next up previous
Next: 5 GRAPE-3 と GRAPE-4 Up: GRAPE プロジェクト Previous: 3 多体問題専用計算機 GRAPE

4 GRAPE-1 と GRAPE-2 --- 手作りの時代

最初に作ったのは GRAPE-1 というもので、これはホスト計算機とGP-IB イン ターフェースでつながれる。ホスト計算機から粒子の位置を送ると、粒子間の 重力を計算し、合計しておくり返すわけである。この基本的な構成は現在開発 中の GRAPE-6 にいたるまで基本的には変わっていないので、ここで少し詳し く説明しておく。

1は GRAPE-1 システム全体の概念図、図2は GRAPE-1 ボードのブロック図 である。ボードは、制御回路のほか粒子の位置座標をしまっておくためのメモ リと実際に相互作用を計算し、積算するためのパイプライン回路からできてい る。パイプラインの概念図を図3に示す。

  
図 1: GRAPE-1 システム。

  
図 2: GRAPE-1 ボード。

1ステップの計算は、以下のように進む。まず、ホストが粒子の 座標をメモリ(Xj mem)に送る。これらの粒子からの重力が計算される。その後、ホスト が別の座標をパイプラインの入力レジスタ(Xi)に書き込み、計算開始命令を送ると、 その座標とメモリからの座標の差を計算し、2乗して和をとり、、、といった 一連の作業をパイプラインが行ない、クロックサイクル毎に粒子1つからの重 力が計算されることになる。計算が終ると、求まった重力(Fi)をホスト計算機に送 り返す。

  
図 3: GRAPE-1 パイプライン。

GRAPE-1 では、ハードウェアを可能な限り単純、安価にするために、データ内 部表現に工夫を凝らしてビット長を切り詰め、ほとんどの演算を ROM を使っ たテーブルルックアップで済ませた。このために、ハードウェアを作った経験 が全くなかったにもかかわらず、比較的容易に動作するものを組み上げること ができた。もちろん、そのために計算精度が低く、球状星団などには使えない。 銀河同士の衝突のような、タイムステップ数が少なくて済む問題に応用が限ら れた。gif

GRAPE-1 は 1989年9月に完成した。GRAPE-1 の最終的なクロック周波数は 8 MHz であり、ピーク計算速度はほぼ 240 Mflops であった。当時は、ワークス テーションの演算性能が1 Mflops 程度であった時代であり、それに比べれば 画期的に高速であった。このために、非常に簡単なハードウェアであったにも かかわらず、実際に天文学研究に使うことができ、いくつかの論文につながっ た。

GRAPE-1 の開発中に、好運にも国立天文台から200万円ほどの研究費をいただ くことができた。これを使って計算精度の高い GRAPE-2 の開発を始めた。 GRAPE-2 では、演算に32ビットや 64 ビットの浮動小数点形式を使い、十分な 精度を確保することにした。こちらの開発は、我々の技術力の不足もあってか なり難航し、とりあえず動くようになったのが1990年春であった。しかし、高 精度をいかして惑星形成のシミュレーションや銀河中心核でのブラックホール の挙動のシミュレーションなど、高精度を要求するさまざまな問題に使われた。



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