この項目では、計算機のGRAPEについて説明しています。"グレープ" のその他の用法については「グレープ 」をご覧ください。
この記事には
参考文献 や
外部リンク の一覧が含まれていますが、
脚注 による参照が不十分であるため、情報源が依然不明確です。
適切な位置に脚注を追加して、記事の信頼性向上 にご協力ください。(2024年4月 )
GRAPE (グレープ)は、東京大学 総合文化研究科に所属していた杉本大一郎 、戎崎俊一 、牧野淳一郎 、伊藤智義 、泰地真弘人 らによって開発された重力 多体問題 専用計算機 である。N体シミュレーション の計算量 の大部分を占める重力相互作用の計算を、専用のパイプライン を組み込んだハードウェア で高速に処理することを特徴とする。GRAPE の名前は GRA vity PiPE の略称に由来する。
概要
GRAPEの目的は、球状星団 や銀河 、銀河団 といった多数の恒星 からなる天体 の時間進化や動力学を数値的にシミュレーション することであった。
このような天体には、球状星団で約104-5 個、銀河では約1010-12 個という膨大な個数の恒星が含まれている。恒星の間に働く万有引力 は到達距離の典型的スケールを持たない逆2乗力であるため、このような重力多体系(多体問題 )の数値シミュレーションを行なうには個々の星の間に働く重力を全て計算する必要がある。一般に、N個の粒子からなる多体系では任意の2粒子の組み合わせの個数は N2 に比例するため、多体系の数値計算では粒子の位置から粒子間相互作用を求める計算が計算量全体の大部分を占める。
しかし1980年代末の時点では、当時の最高速のスーパーコンピュータ でも N=1000 体程度以上の計算を実用的な計算時間で行なうのは困難だった。そこでGRAPEは、O (N2 ) の計算量を要する粒子間相互作用の部分のみを専用ハードウェアを用いて計算することで多体問題の求解を飛躍的に加速させる、という発想に基づいて開発された。
基本原理とアーキテクチャ
一般に、重力 多体系の時間発展の計算は以下のようなステップで行なわれる。
粒子 i が粒子 j から受ける重力
F
i
j
{\displaystyle \mathbf {F} _{ij}}
を計算する。
F
i
j
{\displaystyle \mathbf {F} _{ij}}
を j について積算し、粒子 i が受ける重力の総和
F
i
{\displaystyle \mathbf {F} _{i}}
を求める。
F
i
{\displaystyle \mathbf {F} _{i}}
を運動方程式に代入して、粒子 i の加速度
a
i
{\displaystyle \mathbf {a} _{i}}
を求める。
a
i
{\displaystyle \mathbf {a} _{i}}
を用いて時間積分を行い、粒子 i の位置
r
i
{\displaystyle \mathbf {r} _{i}}
と 速度
v
i
{\displaystyle \mathbf {v} _{i}}
を更新する。
以上を全粒子について繰り返す。
以上を時間ステップごとに繰り返す。
GRAPE はこの計算ステップのうち最も計算量 の多いステップ 1と2 の計算のみを行ない、これ以外の計算は GRAPE が接続された汎用的なワークステーション などが行なう。
GRAPE の基本的なアーキテクチャ は単純である。粒子 i と粒子 j の位置ベクトル
r
i
{\displaystyle \mathbf {r} _{i}}
,
r
j
{\displaystyle \mathbf {r} _{j}}
と質量
m
i
{\displaystyle m_{i}}
,
m
j
{\displaystyle m_{j}}
を入力として与え、ニュートンの万有引力の法則 :
F
i
j
=
− − -->
G
m
i
m
j
|
r
i
− − -->
r
j
|
3
(
r
i
− − -->
r
j
)
{\displaystyle \mathbf {F} _{ij}=-G{\frac {m_{i}m_{j}}{|\mathbf {r} _{i}-\mathbf {r} _{j}|^{3}}}(\mathbf {r} _{i}-\mathbf {r} _{j})}
から粒子間に働く重力
F
i
j
{\displaystyle \mathbf {F} _{ij}}
を求めて出力する。この際、重力の計算を逐次的に行なわず、方程式に含まれる位置座標同士の減算、2乗、加算といった各演算を行なう演算器 を直列に並べてパイプライン を組み、パイプラインの最終段で最終結果
F
i
j
{\displaystyle \mathbf {F} _{ij}}
が出力されるようになっているのが GRAPE の本質的特徴である。万有引力の計算には約30ステップの演算が必要なので逐次処理では結果を得るのに約30クロック を要するが、GRAPE では1クロックごとに重力が計算されて次々と得られることになる。実際にはパイプラインを複数並列化することで計算をさらに加速している。
歴史
専用設計のパイプライン ハードウェアにより多体計算を力任せに行なうというアイデアは1984年 に日本 の国立天文台 の近田義広 によって最初に提唱された[1] 。近田は1980年代に電波望遠鏡 を用いた開口合成 観測のデータ解析用計算機として同様のアイデアに基づくデジタル分光計 を開発し、100GOPS の演算速度を達成していた。
近田のアイデアを聞いた東京大学 教養学部宇宙地球科学教室 の杉本大一郎 が中心となって重力多体問題 専用計算機 の開発が始まり、1989年 9月に最初の GRAPE-1 が完成した。GRAPE-1 はユニバーサル基板上に各演算器の IC や ROM を配置しワイヤラッピング で結線した試作機で開発費用は約20万円だった。GRAPE-1 では簡略化のためにデータ幅を8ビット とし、全ての演算を ROM のテーブル参照で済ませるようにした。銀河 など、二体緩和 時間が宇宙年齢 より長いような無衝突系のシミュレーションは8ビットの精度でも十分に可能なため、GRAPE-1 は試作機でありながら実際の天文学 の研究にも役に立つ性能を有していた。その理論性能は 240M FLOPS 相当で、実効性能でも1万体の計算で約160MFLOPS に達した。
1990年 5月には汎用の計算機と同様の単精度 32ビット 及び倍精度 64ビットの計算が可能な GRAPE-2 が完成した。理論性能は約40MFLOPSだった。これ以降、GRAPE シリーズでは型番が奇数の機種が精度を限定したタイプ、偶数の機種が高精度計算に用いられるタイプとして開発されている。
1991年 の GRAPE-3 では重力計算パイプライン回路が専用 LSI 化され、理論性能は約15GFLOPSに達した。
1993年 には GRAPE-2 の後継となる高精度型計算機の HARP-1 が開発された。HARP は H ermite A cceleratoR P ipe の略称で、多体問題の時間積分法にエルミート積分法(エルミート補間 多項式を用いた予測子・修正子法 )を用いることを想定し、粒子の加速度 だけでなく加速度の時間微分 (
a
˙ ˙ -->
{\displaystyle {\dot {a}}}
) もハードウェアで計算するものである。これによって球状星団や銀河中心核といった緩和時間の短い衝突系の問題を高速に解くことができるようになった。
1995年 には HARP-1 の後継となる GRAPE-4 が完成した。GRAPE-4 では重力計算パイプラインだけでなく時間積分の予測子の計算も専用 LSI でハードウェア化されている。最大構成では約 1.08 TFLOPS の理論計算性能に達し、実用的科学技術計算でテラ フロップス (TFLOPS) を超えた世界最初の計算機となった。GRAPE-4 は1995年、1996年 のゴードン・ベル賞 を受賞した。a
1998年 には GRAPE-3 の後継機である GRAPE-5 が完成した。GRAPE-5 ではクロック周波数が 80MHz まで高速化された。GRAPE-5 は宇宙論的構造形成の計算で 1MFLOPS 当たり $7 という価格性能比を達成し、1999年 のゴードン・ベル賞価格性能比部門賞を受賞した。
2002年 には GRAPE-4 の後継機である GRAPE-6 が完成した。GRAPE-6 は最大構成の GRAPE-4 とほぼ同等の性能を持つプロセッサボード64枚から構成され、ボード4枚ごとに Linux で稼動するホスト PC (パーソナルコンピュータ)が付き、PC 間はギガビット・イーサネット で接続されていた。理論性能は 64TFLOPS に達した。GRAPE-6 は開発中の2000年 、2001年 にゴードン・ベル賞を受賞し、2002年には最大構成で実効計算性能 29.5TFLOPS を達成してゴードン・ベル賞ファイナリストに選出された。2003年 には 33.4TFLOPS で三たびゴードン・ベル賞を受賞した。
2006年 には GRAPE-7 が完成した。GRAPE-7 は PROGRAPE と GRAPE-5 の流れをくむ機種であり、内部回路を書き換え可能な FPGA を1 - 7個搭載している(構成による)。現在のところ内部回路としては GRAPE-5 と同等のパイプラインが完成しており、最大構成モデルにこのパイプラインを実装した場合の動作は理論性能 364GFLOPS 相当まで確認されている。2006年 に宇宙論的構造形成の計算で 1GFLOPS 当たり $105 という価格性能比を達成し、同年のゴードン・ベル賞価格性能比部門ファイナリストに選出された。
2006年 11月、GRAPE-DR (Greatly Reduced Array of Processor Element with Data Reduction)の開発成功に関して報道発表を行った[2] 。GRAPE-DRは汎用性を持ち、様々なプログラムを実行できる。
2010年 6月、GRAPE-DRは、省エネ志向のスパコンとして電力当たりの演算性能の高さが評価され、「Little Green500 List」で世界一位とされた[3] [4] [5] 。
2011年時点では、国立天文台と高エネルギー加速器研究機構 の共同研究で、ストラクチャードASICを用いて四倍精度浮動小数点計算が行えるプロセッサGRAPE-MP の開発が進められていた[6] 。ファインマンループ積分、重力多体系の計算が動作しており、四倍精度計算で約1200MFLOPSの理論性能を有する。さらに、六倍精度浮動小数点計算が行えるGRAPE-MP6 の開発も進めている[7]
2012年 3月、東京工業大学と一橋大学の研究グループがGRAPE-8 を発表[8] 。ASICとFPGAの中間的なストラクチャードASICを使用し、コストを抑えることに成功した。またボード単体で20.9Gflops/W、システム全体で6.5Gflops/Wの高い電力性能比を達成した。
2013年 12月、GRAPE-7の後継機として開発されたGRAPE-9 が発表された。内部回路を書き換え可能な FPGA を8個もしくは16個搭載している。
時代の経過とともに、GRAPEは汎用性の欠如・製造コストの高さが問題視されるようになった。このため国立天文台では、GRAPE-9以降は重力多体計算用途での専用ハードウェアの新規開発を停止し、一般のスーパーコンピュータや商用のGPUサーバを導入するようになった[9] 。GRAPE-9・GRAPE-DRは2022年 3月を以て運用を終え、これによってGRAPEプロジェクトは事実上終了した[10] 。2024年現在、専用ハードウェアとしての開発は、2019年に運用を開始した派生プロジェクトMDGRAPE-4A (後述)が最後となっている。
成果
GRAPE は理論天文学 の内、多体問題における様々な分野のシミュレーションに用いられることとなり、多くの科学的成果をもたらしてきた。また、専用機として開発してきたため、GRAPE は汎用のスーパーコンピュータ に対して常に 1/10 から 1/100 の開発予算で同程度またはそれ以上の計算性能を達成することが出来た。設計資料に基づく、GRAPE ボードの多くは企業によって量産化され、日本 国内だけでなく世界各国の天文学の研究室に販売されている。GRAPE で行なわれているシミュレーションの例としては以下のような問題が挙げられる。
GRAPE シリーズ一覧
2012年までに開発された GRAPE シリーズの一覧は以下の通りである。
名称
完成年
理論演算性能
研究補助等
クロック周波数
I/F
備考
GRAPE-1
1989年
240M FLOPS
一般研究費の一部
8MHz
GPIB
試作機
GRAPE-2
1990年
40MFLOPS
一般研究費の一部
4MHz
VME
初の高精度(倍精度 )型
GRAPE-3
1991年
15G FLOPS (300MFLOPS/chip)
富士ゼロックス 電子技術研究所
10MHz
VME
フルカスタムLSI化(National Semiconductor社においてASIC化)。後にプリント基板化した GRAPE-3A (20MHz) も開発。
GRAPE-4
1995年
1.08T FLOPS (640MFLOPS/chip)
文部省 科研費特別推進研究
16MHz
TURBOchannel / PCI
TURBOchannelは、当時、研究室で使えるEWSがVAXStationだったため。PCIは後から追加。
GRAPE-5
1998年
1TFLOPS (5GFLOPS/chip)
文部省 科研費特別推進研究
80MHz
PCI
GRAPE-3の改良型。
GRAPE-6
2002年
64TFLOPS (31GFLOPS/chip)
日本学術振興会 未来開拓学術研究
90MHz
PCI / LVDS ホスト間: GbE
ASICチップを増強して速度向上を行う。2008年9月20日をもって製造を終了、在庫限りで販売も終了する。
GRAPE-7
2006年
600GFLOPS (100GFLOPS/chip)
日本学術振興会 未来開拓学術研究
100MHz/133MHz
PCI-X (64bit 100MHz/133MHz)
FPGA を使用。内部回路を書き換え可能。演算性能と動作周波数は、GRAPE-5と同等のパイプラインを書き込んだ場合のおおまかな目安。KFCR 社より製品化。
GRAPE-DR
2008年
単精度(409.6GFLOPS/chip) 倍精度 (204.8GFLOPS/chip)[11]
文部科学省 科学技術振興調整費、NTTコミュニケーションズ 、富士通
400MHz
PCI-X (64bit 133MHz),PCIe
高性能グリッド計算機 として多数のシステムとの連携も視野に入れたシステム。GRAPE-7のFPGA をASIC にして、より高密度高性能化を行う。[12]
GRAPE-DRプロジェクトは、高速専用線インターネット接続と高速GRAPEチップの構築を主にしたプロジェクトである。2010年6月、電力当たりの演算性能が評価され、The Green500 Listで世界一位とされる[3] [4] [5] 。KFCR社より製品化。
GRAPE-8
2012年
960GFLOPS (480GFLOPS/chip)
文部科学省科学研究費補助金
250MHz
PCIe
再び専用機。プロセッサにeASIC社のストラクチャードASIC、PCIe制御にFPGAを使用。
GRAPE-9
2013年
12Tflops (750GFLOPS/chip)
?
?
PCIe
FPGA を使用。演算性能は、GRAPE-5と同等のパイプラインを書き込んだ場合の目標値。KFCR 社より製品化。
派生プロジェクト
GRAPE プロジェクトをきっかけとして、専用パイプライン による計算の高速化という GRAPE の基本概念を継承した様々な専用計算機が開発されている。
分子動力学用計算機
GRAPE アーキテクチャの応用例の中でも重要なものは、GRAPE のハードウェアを分子動力学 (MD) に応用した計算機である。水中の蛋白質 の 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
1993年
200M FLOPS
GRAPE-2 の改良型
MD-GRAPE
1995年
4.2GFLOPS
専用ASIC
分子動力学 用に改良されたGRAPEチップを搭載
MDGRAPE-2
1999年
16GFLOPS
専用ASIC
独自開発のMDMチップとWINEチップを搭載
MDGRAPE-3
2005年
33G FLOPS
専用ASIC
MDMチップとWINEチップを統合し、1チップ化
MDM
2000年
78T FLOPS
専用ASIC
MDGRAPE-2の超並列機
Protein Explorer
2006年
1P FLOPS
専用ASIC
MDGRAPE-3の超並列機
MDGRAPE-4
2014年
2.5T FLOPS
専用ASIC
MDGRAPE-4A
2019年
1.3PFLOPS
専用SoC
RISC-V ベースの512チップ構成[13] [14]
WINE
1993年 には周期的境界条件 の下での重力 ・クーロン力 多体問題 の計算を行なう専用計算機 WINE (W ave space IN tegrator for E wald method) が開発された。WINE は周期境界条件の下での中心力 の厳密解を求めるエヴァルト法 のアルゴリズム を専用パイプライン で実装したものである。WINE は MD や宇宙の大規模構造 のシミュレーションなど、周期境界条件を用いる多体問題に活用された。また理化学研究所 (理研)の MDM ではシステムの一部として WINE の回路を1チップに集積した WINE-2 チップを周期境界の計算に用いている。
PROGRAPE
1990年代後半になると回路を再構成できる FPGA のゲート数の多い製品が安価に入手できるようになり、ASIC として実装していた GRAPE のパイプライン を FPGA 上に実装できるようになった。そこで1998年 に GRAPE-3 相当の回路を FPGA で実現した PROGRAPE-1 (PRO grammable GRAPE ) が開発された。PROGRAPE-1 は 16MHz で動作し、理論性能は 0.96 GFLOPS だった。PROGRAPE では FPGA を使用しているため、解くべき問題に応じてパイプラインを自由に再構成でき、幅広い問題に利用できる利点を持つ。2006年現在、PROGRAPE シリーズの最新機種は理化学研究所 (理研)で開発されている PROGRAPE-4 で、理論性能は 243.2G FLOPS に達している。
参考文献
日本物理学会 編『宇宙を見る新しい目』日本評論社 、2004年。ISBN 4535784027 。
杉本大一郎 『手作りスーパーコンピュータへの挑戦 テラ・フロップス・マシンをめざして』講談社 〈講談社ブルーバックス 〉、1993年。ISBN 4061329561 。
立花隆 『電脳進化論 -ギガ・テラ・ペタ』朝日新聞社 、1993年。ISBN 4022566027 。
杉本大一郎 編著『専用計算機によるシミュレーション』朝倉書店 、1994年。ISBN 4-254-12091-5 。
牧野、泰地「計算科学と「専用」計算機」『パリティ 』第11巻第4号、丸善、1996年、63-66頁。
Bakker, A. F. (1988), B. J. Alder, ed., A Special Purpose Computer for Molecular Dynamics Calculations. Special Purpose Computers , San Diego, CA: Academic Press, pp. 183-232
近田義広 「天体観測用の信号解析スーパープロセッサ」『科学』第54号、丸善、1984年、619-628頁、NAID 40000394614 。
伊藤智義『スーパーコンピューターを20万円で創る』集英社 〈集英社新書 〉、2007年。ISBN 9784087203950 。
Itta Ohmura; Gentaro Morimoto; Yousuke Ohno; Aki Hasegawa, and Makoto Taiji (2014 Aug 6), “MDGRAPE-4: a special-purpose computer system for molecular dynamics simulations” , Philos Trans A Math Phys Eng Sci. 372 (2021): 20130387, PMC 4084528 , http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=4084528
他
関連項目
脚注
外部リンク