GRAPE(グレープ):重力多体問題専用計算機の詳細
GRAPE(GRAvity PiPE)は、
東京大学総合文化研究科に所属していた研究者グループによって開発された、
重力多体問題専用の計算機です。
天体シミュレーションにおける
重力相互作用計算の高速化に特化しており、専用のパイプライン
ハードウェアを組み込むことで、従来の汎用
コンピュータでは困難だった大規模なシミュレーションを可能にしました。
概要
GRAPE の主な目的は、
球状星団、
銀河、
銀河団など、多数の恒星からなる
天体の時間進化や動力学を数値的にシミュレーションすることでした。これらの
天体は、
球状星団で約10⁴~10⁵個、
銀河では約10¹⁰~10¹²個もの恒星を含んでいます。恒星間の
万有引力は、到達距離に制限のない逆2乗力であるため、多体問題の数値シミュレーションでは、すべての星の間で働く
重力を計算する必要があります。一般的に、N個の粒子からなる多体系では、任意の2粒子間の組み合わせ数がN²に比例するため、粒子間相互作用の計算が全体の計算量の大部分を占めます。
1980年代末の時点では、当時のスーパー
コンピュータでもN=1000程度の粒子数を超える計算は現実的な時間内で行うことが困難でした。そこでGRAPEは、O(N²)の計算量を要する粒子間相互作用の計算を専用
ハードウェアで処理することで、多体問題の計算を大幅に高速化するという画期的なアプローチを採用しました。
基本原理とアーキテクチャ
重力多体系の時間発展計算は、一般的に以下のステップで行われます。
1. 粒子iが粒子jから受ける
重力Fᵢⱼを計算する。
2.
Fᵢⱼをjについて合計し、粒子iが受ける
重力の総和
Fᵢを求める。
3.
Fᵢを運動方程式に代入し、粒子iの
加速度aᵢを求める。
4.
aᵢを用いて時間積分を行い、粒子iの位置
rᵢと速度
vᵢを更新する。
5. 上記のステップをすべての粒子について繰り返し、時間ステップごとに繰り返す。
GRAPEは、これらのステップの中でもっとも計算量の多いステップ1と2のみを専用
ハードウェアで処理し、それ以外の計算はGRAPEに接続された汎用
ワークステーションで行います。
GRAPEの基本的なアーキテクチャはシンプルです。粒子iとjの位置ベクトル
rᵢ、
rⱼ、質量mᵢ、mⱼを入力として、ニュートンの
万有引力の法則を用いて粒子間に働く
重力Fᵢⱼを計算します。この際、
重力計算を逐次的に行うのではなく、位置座標の減算、2乗、加算といった各演算を専用の演算器を直列に並べてパイプラインを構成します。パイプラインの最終段で
Fᵢⱼが出力されるのがGRAPEの重要な特徴です。
万有引力の計算には約30ステップの演算が必要ですが、GRAPEでは1
クロックごとに計算結果が得られます。実際には、パイプラインを並列化することでさらに高速な計算を実現しています。
歴史
専用パイプライン
ハードウェアによる多体計算というアイデアは、
1984年に
国立天文台の近田義広によって提唱されました。近田は、
電波望遠鏡を用いた
開口合成観測のデータ解析用に、同様のアイデアに基づいたデジタル分光計を開発し、100GOPSの演算速度を達成していました。
近田のアイデアに触発された
東京大学の
杉本大一郎を中心とするグループが
重力多体問題専用計算機の開発を開始し、
1989年9
月に最初のGRAPE-1が完成しました。GRAPE-1は、各演算器のICやROMをユニバーサル基板上に配置し、ワイヤーラッピングで結線した試作機で、開発費用は約20万円でした。GRAPE-1では、データ幅を8
ビットに制限し、すべての演算をROMのテーブル参照で行いました。これにより、8
ビットの精度でも十分にシミュレーション可能な無衝突系の
天文学研究に貢献しました。その理論性能は240M
FLOPS相当で、実効性能でも1万体の計算で約160M
FLOPSに達しました。
1990年5
月には、汎用計算機と同様の単精度32
ビットおよび倍精度64
ビット計算が可能なGRAPE-2が完成しました。理論性能は約40M
FLOPSでした。以降、GRAPEシリーズでは、奇数型番の機種が精度を限定したタイプ、偶数型番の機種が高精度計算に用いられるタイプとして開発されるようになりました。
1991年には、
重力計算パイプライン回路が専用LSI化されたGRAPE-3が開発され、理論性能は約15G
FLOPSに達しました。
1993年には、高精度型計算機GRAPE-2の後継となるHARP-1が開発されました。HARPは、エルミート積分法を多体問題の時間積分法に用いることを想定し、粒子の
加速度だけでなく
加速度の時間微分も
ハードウェアで計算します。これにより、
球状星団や
銀河中心核といった緩和時間の短い衝突系の問題が高速に解けるようになりました。
1995年には、HARP-1の後継機であるGRAPE-4が完成しました。GRAPE-4では、
重力計算パイプラインだけでなく時間積分の予測子計算も専用LSIで
ハードウェア化され、最大構成で約1.08T
FLOPSの理論計算性能を達成し、実用的な科学技術計算で
テラフロップスを超えた世界初の計算機となりました。GRAPE-4は、
1995年、
1996年のゴードン・ベル賞を受賞しました。
1998年には、GRAPE-3の後継機であるGRAPE-5が完成しました。GRAPE-5では、
クロック周波数が80MHzまで高速化されました。GRAPE-5は宇宙論的構造形成の計算で、1M
FLOPSあたり7ドルという高い価格性能比を達成し、
1999年のゴードン・ベル賞価格性能比部門賞を受賞しました。
2002年には、GRAPE-4の後継機であるGRAPE-6が完成しました。GRAPE-6は、最大構成のGRAPE-4と同等の性能を持つプロセッサボード64枚から構成され、4枚ごとに
Linuxで稼働するホストPCが付き、PC間は
ギガビットイーサネットで接続されました。理論性能は64T
FLOPSに達しました。GRAPE-6は、開発中の
2000年、
2001年にゴードン・ベル賞を受賞し、
2002年には最大構成で実効計算性能29.5T
FLOPSを達成してゴードン・ベル賞ファイナリストに選出され、
2003年には33.4T
FLOPSで三度目のゴードン・ベル賞を受賞しました。
2006年には、GRAPE-7が完成しました。GRAPE-7は、内部回路を書き換え可能な
FPGAを搭載しており、構成によって1~7個搭載されています。現在のところ内部回路としてはGRAPE-5と同等のパイプラインが完成しており、最大構成モデルにこのパイプラインを実装した場合の動作は、理論性能364G
FLOPS相当まで確認されています。
2006年には宇宙論的構造形成の計算で1G
FLOPSあたり105ドルという価格性能比を達成し、同年のゴードン・ベル賞価格性能比部門ファイナリストに選出されました。
2006年11
月、GRAPE-DR(Greatly Reduced Array of Processor Element with Data Reduction)の開発成功が発表されました。GRAPE-DRは汎用性を持ち、様々なプログラムを実行できます。
2010年6
月には、GRAPE-DRが省エネ志向のスパコンとして電力当たりの演算性能の高さが評価され、「Little Green500 List」で世界一位となりました。
2011年時点では、
国立天文台と
高エネルギー加速器研究機構の共同研究で、ストラクチャード
ASICを用いて四倍精度浮動小数点計算が行えるプロセッサGRAPE-MPの開発が進められていました。さらに、六倍精度浮動小数点計算が行えるGRAPE-MP6の開発も進められていました。
2012年3
月には、東京工業大学と一橋大学の研究グループがGRAPE-8を発表しました。
ASICと
FPGAの中間的なストラクチャード
ASICを使用し、コストを抑えることに成功しました。また、ボード単体で20.9Gflops/W、システム全体で6.5Gflops/Wの高い電力性能比を達成しました。
2013年12
月、GRAPE-7の後継機としてGRAPE-9が発表されました。内部回路を書き換え可能な
FPGAを8個または16個搭載しています。
しかし、時代の経過とともに、GRAPEは汎用性の欠如と製造コストの高さが問題視されるようになり、
国立天文台ではGRAPE-9以降は
重力多体計算用途での専用
ハードウェアの新規開発を停止し、一般的なスーパー
コンピュータや商用GPUサーバを導入するようになりました。GRAPE-9およびGRAPE-DRは
2022年3
月をもって運用を終了し、GRAPEプロジェクトは事実上終了しました。2024年現在、専用
ハードウェアとしての開発は、2019年に運用を開始した派生プロジェクトMDGRAPE-4Aが最後となっています。
成果
GRAPEは、理論
天文学の多体問題における様々な分野のシミュレーションで利用され、数多くの科学的成果をもたらしました。専用機として開発されたため、汎用スーパー
コンピュータと比較して常に1/10から1/100の開発予算で同等またはそれ以上の計算性能を達成することができました。GRAPEボードは企業によって量産化され、日本国内だけでなく世界各国の研究室に販売されました。GRAPEで行われているシミュレーションの例としては、以下のような問題が挙げられます。
GRAPEシリーズ一覧
2012年までに開発されたGRAPEシリーズは以下の通りです。
- - GRAPE-1
- - GRAPE-2
- - GRAPE-3
- - HARP-1
- - GRAPE-4
- - GRAPE-5
- - GRAPE-6
- - GRAPE-7
- - GRAPE-8
- - GRAPE-9
- - GRAPE-DR
- - GRAPE-MP
- - GRAPE-MP6
派生プロジェクト
GRAPEプロジェクトをきっかけに、専用パイプラインによる計算の高速化というGRAPEの基本概念を継承した様々な専用計算機が開発されました。
分子動力学用計算機
GRAPEアーキテクチャの応用例として重要なのは、GRAPEの
ハードウェアを
分子動力学(MD)に応用した計算機です。
水中のタンパク質のMDシミュレーションでは、タンパク質
分子を構成する
原子や、溶媒である
水分子の
水素・
酸素原子間に働く
分子間力やクーロン力などの相互作用を大量に計算する必要があります。これらの相互作用は、すべて
万有引力と同様の
中心力であるため、GRAPEのパイプラインを修正することでMDの計算にも応用可能です。
1992年には、GRAPE-2をMDにも使えるように改良したGRAPE-2Aが開発されました。GRAPE-2Aは180M
FLOPSの理論性能を持っていました。
1995年には、後継として回路を
ASIC化したMD-GRAPEが作られました。その後、
戎崎俊一を中心とするグループが改良を進め、
2002年には理論性能75T
FLOPSのMDMが開発されました。
GRAPE-2A/MD-GRAPEの系譜を引く
分子動力学用計算機は以下の通りです。
- - GRAPE-2A
- - MD-GRAPE
- - MDM
WINE
1993年には、
周期的境界条件下での
重力・クーロン力多体問題の計算を行う専用計算機WINE(Wave space INtegrator for Ewald method)が開発されました。WINEは、周期境界条件下の
中心力の厳密解を求めるエヴァルト法の
アルゴリズムを専用パイプラインで実装したものです。WINEは、MDや宇宙の大規模構造のシミュレーションなど、周期境界条件を用いる多体問題に活用されました。
PROGRAPE
1990年代後半になると、
FPGAの性能が向上し、
ASICとして実装していたGRAPEのパイプラインを
FPGA上に実装できるようになりました。
1998年には、GRAPE-3相当の回路を
FPGAで実現したPROGRAPE-1が開発されました。PROGRAPE-1は、16MHzで動作し、理論性能は0.96G
FLOPSでした。PROGRAPEは
FPGAを使用しているため、解くべき問題に応じてパイプラインを自由に再構成できるという利点があります。
2006年現在の最新機種は
理化学研究所で開発されているPROGRAPE-4で、理論性能は243.2G
FLOPSに達しています。
参考文献
[参考文献の情報をここに追加]
関連項目
脚注
[脚注の情報をここに追加]
外部リンク