Privacy Policy Cookie Policy Terms and Conditions GRAPE - Wikipedia

GRAPE

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Disambiguationこの項目では計算機のGRAPEについて説明しています。その他のグレープについてはグレープをご覧ください。

GRAPE(グレープ)は、日本東京大学(当時)の杉本大一郎、戎崎俊一、牧野淳一郎らによって開発された元々は多体問題専用計算機である。GRAPE では重力多体問題計算量の大部分を占める重力相互作用の計算を専用のパイプラインを組み込んだハードウェアで高速に処理する。GRAPE の名前は GRAvity PipE の略称に由来するという話は後付け(よって頭文字などではなく強引になっている)であり、元々はApple Iから果物の名前という由来で葡萄がクラスタであることから名付けられた。

目次

[編集] 目的

GRAPE の目的は、球状星団銀河銀河団といった多数の恒星からなる天体の時間進化や動力学を数値的にシミュレーションすることであった。このような天体には、球状星団で約104-5個、銀河では約1010-12個という膨大な個数の恒星が含まれている。恒星の間に働く万有引力は到達距離の典型的スケールを持たない逆2乗力であるため、このような重力多体系の数値シミュレーションを行なうには個々の星の間に働く重力を全て計算する必要がある。一般に、N個の粒子からなる多体系では任意の2粒子の組み合わせの個数は N2 に比例するため、多体系の数値計算では粒子の位置から粒子間相互作用を求める計算が計算量全体の大部分を占める。そのため、GRAPE が開発された1980年代終わりには当時の最高速のスーパーコンピュータでも N=1000 体程度以上の計算を実用的な計算時間で行なうのは困難だった。

そこで GRAPE は、O(N2) の計算量を要する粒子間相互作用の部分のみを専用ハードウェアを用いて計算することで多体問題の計算速度を飛躍的に加速させる、という思想に基づいて開発された。

[編集] アーキテクチャ

一般に、重力多体系の時間発展の計算は以下のようなステップで行なわれる。

  1. 粒子 i が粒子 j から受ける重力 \mathbf{F}_{ij} を計算する。
  2. \mathbf{F}_{ij} を j について積算し、粒子 i が受ける重力の総和 \mathbf{F}_{i} を求める。
  3. \mathbf{F}_{i} を運動方程式に代入して、粒子 i の加速度 \mathbf{a}_{i} を求める。
  4. \mathbf{a}_{i} を用いて時間積分を行い、粒子 i の位置 \mathbf{r}_{i} と 速度 \mathbf{v}_{i} を更新する。
  5. 以上を全粒子について繰り返す。
  6. 以上を時間ステップごとに繰り返す。

GRAPE はこの計算ステップのうち最も計算量の多いステップ 1 の計算のみを行ない、これ以外の計算は GRAPE が接続された汎用的なワークステーションなどが行なう。

GRAPE の基本的なアーキテクチャは単純である。粒子 i と粒子 j の位置ベクトル \mathbf{r}_{i}, \mathbf{r}_{j} と質量 mi, mj を入力として与え、ニュートンの万有引力の法則

\mathbf{F}_{ij} = - G \frac{m_i m_j}{|\mathbf{r}_i - \mathbf{r}_j|^3} (\mathbf{r}_i - \mathbf{r}_j)

から粒子間に働く重力 \mathbf{F}_{ij} を求めて出力する。この際、重力の計算を逐次的に行なわず、方程式に含まれる位置座標同士の減算、2乗、加算といった各演算を行なう演算器を直列に並べてパイプラインを組み、パイプラインの最終段で最終結果 \mathbf{F}_{ij} が出力されるようになっているのが GRAPE の本質的特徴である。万有引力の計算には約30ステップの演算が必要なので逐次処理では結果を得るのに約30クロックを要するが、GRAPE では1クロックごとに重力が計算されて次々と得られることになる。実際にはパイプラインを複数並列化することで計算をさらに加速している。

[編集] 歴史

[編集] 概略

ハードウェアパイプラインを用いて重力計算を高速に行なうというアイデアは1988年日本国立天文台の近田義広によって最初に提唱された。近田は1980年代に電波望遠鏡を用いた電波干渉計のデータ解析用計算機として同様のアイデアに基づくデジタル相関器 FX を開発し、100GOPS の演算速度を達成していた。

近田のアイデアを聞いた東京大学教養学部宇宙地球科学教室の杉本大一郎が中心となって重力多体問題専用計算機の開発が始まり、1989年9月に最初の GRAPE-1 が完成した。GRAPE-1 はユニバーサル基板上に各演算器の ICROM を配置しワイヤラッピングで結線した試作機で開発費用は約20万円だった。GRAPE-1 では簡略化のためにデータ幅を8ビットとし、全ての演算を ROM のテーブル参照で済ませるようにした。銀河など、二体緩和時間が宇宙年齢より長いような無衝突系のシミュレーションは8ビットの精度でも十分に可能なため、GRAPE-1 は試作機でありながら実際の天文学の研究にも役に立つ性能を有していた。その理論性能は 240MFLOPS 相当で、実効性能でも1万体の計算で約160MFLOPS に達した。

1990年5月には汎用の計算機と同様の単精度32ビット及び倍精度64ビットの計算が可能な GRAPE-2 が完成した。理論性能は約40MFLOPSだった。これ以降、GRAPE シリーズでは型番が奇数の機種が精度を限定したタイプ、偶数の機種が高精度計算に用いられるタイプとして開発されている。

1991年GRAPE-3 では重力計算パイプライン回路が専用 LSI 化され、理論性能は約15GFLOPSに達した。

1993年には GRAPE-2 の後継となる高精度型計算機の HARP-1 が開発された。HARP は Hermite AcceleratoR Pipe の略称で、多体問題の時間積分法にエルミート積分法(エルミート補間多項式を用いた予測子・修正子法)を用いることを想定し、粒子の加速度だけでなく加速度の時間微分 (\dot{a}) もハードウェアで計算するものである。これによって球状星団や銀河中心核といった緩和時間の短い衝突系の問題を高速に解くことができるようになった。

1995年には HARP-1 の後継となる GRAPE-4 が完成した。GRAPE-4 では重力計算パイプラインだけでなく時間積分の予測子の計算も専用 LSI でハードウェア化されている。最大構成では約 1.08 TFLOPS の理論計算性能に達し、実用的科学技術計算でテラフロップス (TFLOPS) を超えた世界最初の計算機となった。GRAPE-4 は1995年、1996年ゴードン・ベル賞を受賞した。

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 という価格性能比を達成し、同年のゴードン・ベル賞価格性能比部門ファイナリストに選出された。

[編集] GRAPE シリーズ

2006年現在までに開発された GRAPE シリーズの一覧は以下の通りである。

名称 完成年 理論演算性能 研究補助等 クロック周波数 I/F 備考
GRAPE-1 1989年 240MFLOPS 8MHz GPIB 試作機
GRAPE-2 1990年 40MFLOPS 4MHz VME 初の高精度 (倍精度) 型
GRAPE-3 1991年 15GFLOPS
(300MFLOPS/chip)
富士ゼロックス電子技術研究所 10MHz VME フルカスタムLSI化。後にプリント基板化した GRAPE-3A (20MHz) も開発
GRAPE-4 1995年 1.08TFLOPS
(640MFLOPS/chip)
文部省科研費特別推進研究 16MHz TURBOchannel / PCI
GRAPE-5 1998年 1TFLOPS
(5GFLOPS/chip)
文部省科研費特別推進研究 80MHz PCI GRAPE-3の改良型
GRAPE-6 2002年 64TFLOPS
(31GFLOPS/chip)
日本学術振興会未来開拓学術研究 90MHz PCI / LVDS
ホスト間: GbE
GRAPE-7 2006年 600GFLOPS
(100GFLOPS/chip)
日本学術振興会未来開拓学術研究 100MHz/133MHz PCI-X (64bit 100MHz/133MHz) FPGAを使用。内部回路を書き換え可能。演算性能と動作周波数は、GRAPE-5と同等のパイプラインを書き込んだ場合のおおまかな目安。KFCR社より製品化。
GRAPE-DR 2008年(2006年現在、構築中) 2PFLOPS 文部科学省科学技術振興調整費、NTTコミュニケーションズ富士通 PCI-X (64bit 133MHz),
GbE
DR は Data Reservoir の略。高性能グリッド計算機として多数のシステムとの連携も視野に入れたシステム。GRAPE-7のFPGAASICにして、より高密度高性能化を行う。

[編集] GRAPE から派生した専用計算機

GRAPE プロジェクトをきっかけとして、専用パイプラインによる計算の高速化という GRAPE の基本概念を継承した様々な専用計算機が開発されている。

[編集] 分子動力学用計算機

GRAPE アーキテクチャの応用例の中でも重要なものは、GRAPE のハードウェアを分子動力学 (MD) に応用した計算機である。水中の蛋白質の MD シミュレーションでは蛋白質分子を構成する各原子や媒質となる分子の水素酸素原子の間に働く分子間力クーロン力などの相互作用を大量に計算する必要がある。MD で扱うこの種の相互作用は全て万有引力と同様の中心力であるため、GRAPE のパイプラインを修正することで MD の計算にも応用が可能となる。

このようにして1992年に、GRAPE-2 を MD にも使えるように改良した GRAPE-2A が開発された。GRAPE-2A は 180MFLOPS の理論性能を持っていた。1995年にはこの後継として回路を ASIC 化した MD-GRAPE が作られた。その後は東京大学から理化学研究所に移った戎崎俊一を中心とするグループで改良が行なわれ、2002年には理論性能 75TFLOPS の MDM が開発された。

GRAPE-2A/MD-GRAPE の系譜を引く分子動力学用計算機の一覧は以下の通りである。

名称 完成年 理論演算性能 プロセッサ 備考
GRAPE-2A 1993年 200MFLOPS GRAPE-2 の改良型
MD-GRAPE 1995年 4.2GFLOPS 専用ASIC 分子動力学用に改良されたGRAPEチップを搭載
MDGRAPE-2 1999年 16GFLOPS 専用ASIC 独自開発のMDMチップとWINEチップを搭載
MDGRAPE-3 2005年 33GFLOPS 専用ASIC MDMチップとWINEチップを統合し、1チップ化
MDM 2000年 78TFLOPS 専用ASIC MDGRAPE-2の超並列機
Protein Explorer 2006年 1PFLOPS 専用ASIC MDGRAPE-3の超並列機

[編集] WINE

1993年には周期的境界条件の下での重力クーロン力多体問題の計算を行なう専用計算機 WINE (Wave space INtegrator for Ewald method) が開発された。WINE は周期境界条件の下での中心力の厳密解を求めるエヴァルト法アルゴリズムを専用パイプラインで実装したものである。WINE は MD や宇宙の大規模構造のシミュレーションなど、周期境界条件を用いる多体問題に活用された。また理化学研究所 (理研) の MDM ではシステムの一部として WINE の回路を1チップに集積した WINE-2 チップを周期境界の計算に用いている。

[編集] PROGRAPE

1990年代後半になると回路を再構成できる FPGA のゲート数の多い製品が安価に入手できるようになり、ASIC として実装していた GRAPE のパイプラインを FPGA 上に実装できるようになった。そこで1998年に GRAPE-3 相当の回路を FPGA で実現した PROGRAPE-1 (PROgrammable GRAPE) が開発された。PROGRAPE-1 は 16MHz で動作し、理論性能は 0.96 GFLOPS だった。PROGRAPE では FPGA を使用しているため、解くべき問題に応じてパイプラインを自由に再構成でき、幅広い問題に利用できる利点を持つ。2006年現在、PROGRAPE シリーズの最新機種は理化学研究所 (理研) で開発されている PROGRAPE-4 で、理論性能は 243.2GFLOPS に達している。

[編集] 成果

GRAPE は理論天文学の様々な分野のシミュレーションに用いられ、多くの科学的成果をもたらしている。また、GRAPE は汎用のスーパーコンピュータに対して常に 1/10 から 1/100 の開発予算で同程度またはそれ以上の計算性能を達成してきた。GRAPE ボードの多くは企業によって量産化され、日本国内だけでなく世界各国の天文学の研究室に販売されている。GRAPE で行なわれているシミュレーションの例としては以下のような問題が挙げられる。

[編集] 参考文献

  • 日本物理学会編, 宇宙を見る新しい目,(日本評論社 2004)
  • 杉本大一郎 著, 手作りスーパーコンピュータへの挑戦 テラ・フロップス・マシンをめざして,講談社ブルーバックス(講談社 1993)
  • 立花隆 著, 電脳進化論 -ギガ・テラ・ペタ, (朝日新聞社 1993)
  • 杉本 大一郎 編著,専用計算機によるシミュレーション,(朝倉書店 1994), ISBN 4254120915
  • 牧野、泰地,計算科学と「専用」計算機, パリティ 11(丸善 1996), No. 4, 63-66.
  • A. F. Bakker and C. Bruin: A Special Purpose Computer for Molecular Dyanamics Calculations. Special Purpose Computers (ed. B. J. Alder, Academic Press, 1988) 183-232.
  • 近田, 天体観測用の信号解析スーパープロセッサ, 科学 54 (丸善 1984), 619-628

[編集] 関連項目

[編集] 外部リンク

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu