GRAPE-4 は 1992 年に利用可能であった技術に基づいている。例えば2000年に完 成することを目指して同程度の予算で新しい機械を作ると、1998年ころの技術 を使うことになる。この場合、ほぼ100倍程度の速度向上が可能になる。仮 に10億円程度の予算を使うとすれば、1ペタフロップスの速度が実現できよう。
同じ予算で速度を100倍にするには、まずクロックを5倍程度にあげる。現在の GRAPE-4 パイプラインのクロックは 32 MHz である。最近の高速 CPU では200 MHz 以上が普通になっているので、1998年の技術で160 MHz は容易であろう。 さらにパイプラインを1チップに複数収納する。使えるトランジスタ数は約20 倍になっているので、クロックの5倍と合わせて100倍が実現できる。
普通の計算機ではこれほどの性能向上はできない。実際、過去何十年もの間、 計算機の性能向上はピーク性能で10年で100倍、実効性能はさらに低いもので あった。これは、根本的には、図1のような演算器とメモリという構成 からくる制限である。トランジスタの数の増加を有効に生かすためには演 算器の数を増やす必要がある。増やした演算器を有効に使うためにはメモリか ら十分な速度でデータを供給できないといけない。このために、仮にメモリと 演算器の間の信号の周波数をチップ動作周波数に比例してあげられたとしてさ え、メモリと演算器の間の配線本数が演算器の数に比例して増えないといけな い。
現在のマイクロプロセッサは10や20の浮動小数点演算器を集積できるだけの大 きさをもっている。それにもかかわらず、多くのチップは依然1組の演算器し かもたず、しかも実際のプログラムでは多くの場合チップのピーク性能に比べ てずっと低い性能しかでない。これは基本的にはメインメモリとCPUチップの 間のデータ転送を速くすることが難しいためである。
GRAPE の場合、まず複数の演算器がパイプライン化されることで必要なデータ 転送速度が減る。さらに、重力が遠隔相互作用であり、相互作用が N 対 N であるために、複数のパイプラインがメモリから同じデータを受けとる (それぞれ別の粒子への力を計算する)ことでさらにデータ転送速度を落すこ とができる。このために、並列度を増やしていってもデータ転送速度をそれほ ど増やす必要はない。
それでは、差分法による流体計算のような、近接相互作用の場合には GRAPE の ような専用化したパイプライン、あるいはもっと違った専用計算機は可能だろ うか。
一つの方法は、現在の汎用並列計算機の構成を保って、プロセッサとメモリを 1チップにするということである(Processor in Memory, PIM)。これまでは、 SRAM はともかく集積度の高い DRAM と論理回路を1チップに集積するのは難し かったが、最近はそうでもなくなった。例えば東芝はゲートアレイと 16 Mbit の DRAM を集積したものを商品化している。このようなチップの場合、メモリ と演算器の間の転送幅はほとんど無制限に大きくできる。
DRAM を集積できるゲートアレイで 現状でどの程度の速度が実現可能か見積もってみよう。論理回路に使える部分 を50万ゲートとすれば、64ビットの浮動小数点演算ユニット(乗算器と加算器) が8個程度は実装できる。これらを 100 MHz で動かすとすれば、チップあたり 3.2 Gflops となる。LSI の量産価格は1-3万円程度と思われる。例えば3,000 個程度 LSI を並べれば、 10 Teraflops の「汎用」並列計算機が開発費を含 めて1-2億円程度の製造コストで作れることになる。32ビット精度ならその4倍 の速度、チップ当たり 12.8 Gflops が実現できる。
このようなシステムの大きな問題点は、メモリ容量が小さいことである。3000 チップのシステムでも、メモリサイズは 6 ギガバイトにしかならない。外づ けのメモリを使えば安価、大容量にはできるが、速度低化は避け難い。例えば 同期DRAMなどを使っても、それほどコストをあげずに実現できるのはLSI 1個 あたり GB/s といったところなので、メモリアクセスに対して演算 数が10-20倍は必要になる。GRAPE では、計算量が多いためにメモリ量はそれ ほど問題にならず、ペタフロップス計算機でも 100 ギガバイトもあればいい が、流体計算ではそうもいかないだろう。
GRAPE のような専用パイプラインはどうであろうか?演算器の部分そのものは、 必要な計算精度に最適化することなどで5-10倍程度性能をあげるのは難しくは ない。しかし、メモリを外づけにすれば、メモリの速度が性能を決め、容量が コストを決めることになるのは汎用並列計算機と同じなので、GRAPE の場合の ように何桁も価格性能比をあげることはむつかしい。
まとめると、PIMあるいはGRAPE のような考え方で近接相互作用が主な系のた めの高性能のシステムをつくることは不可能ではないが、メモリ容量が大きく できないという問題がある。もちろん、これは DRAM 搭載のカスタム LSI と 普通の DRAM の値段の比にもよるので、5-10年先になれば、 十分なメモリー 容量が安価に得られる可能性はある。しかし、その時には、汎用の並列計算機 自体が PIM になっているかもしれない。
1) 杉本(編著):専用計算機によるシミュレーション、(朝倉書店,1994).
2) 牧野、泰地:計算科学と「専用」計算機, パリティ 11(1996), No. 4, 63-66.
3)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.
4) 近田: 天体観測用の信号解析スーパープロセッサ, 科学 54 (1984), 619-628.
5) 近田: 計算機を使う、計算機の技術を使う, 「恒星系力学」研究会集録(昭
和63年度科学研究費補助金研究成果報告書「自己重力系としての恒星系の力学
的進化」, 1989)152-156.