1989年というと、私が就職して2年目。残業残業休日出勤でへとへとになるまで働いていたころです。最強のPC用プロセッサは80386かMC68030。どちらも浮動小数点演算機能を備えておらず、命令実行には数サイクルを要していました。特に乗算には大きなサイクル数がかかっていた時代です。最大実行周波数は20MHzに届いていたでしょうか。ですから、PCというのはその時代研究用の計算機としてはとても非力でした。そういう時代に、大規模計算を行うハードウェア GRAPE 1を造った人々の話。
- 作者: 伊藤智義
- 出版社/メーカー: 集英社
- 発売日: 2007/06
- メディア: 新書
- 購入: 10人 クリック: 250回
- この商品を含むブログ (130件) を見る
GRAPE1を使うことで著者らのチームは球状星団の挙動に関する研究で世界のトップに立つことができました。
仮説をシミュレートする場合、一回のシミュレーションが短ければその分多くの仮説を試すことができます。ライバルより多くの事例を検討し、ライバルより早く仮説を練り上げることができるのです。GRAPE1は研究目的に特化したアーキテクチャを持つことで、フォン・ノイマン・ボトルネックを避けつつ安価で高速な計算ができることを内外に示しました。そのようなマシンはこれが初めてではありませんでしたが、GRAPE1は大成功し、その後シリーズ化されたことで当時何度もスーパーコンピュータに関する解説で取り上げられ、脚光を浴びました。現在、信号処理やアルゴリズムに関する研究のかなりの割合が汎用プロセッサではなくFPGAによる専用回路で行われています。GRAPEシリーズの成功はそのような潮流を予言していたともいえます。
さて、この本、うそがあります。GRAPE1の演算性能が240MFLOPSであり、それは堂々たるスーパーコンピュータだ、というのがこの本の出だしのうたい文句です。が、"FLOPS"は、FLoating point Operation Per Second、つまり1秒あたりの浮動小数点演算の単位です。一方、GRAPE1は整数*1マシンでした。しかも汎用プロセッサと違い、浮動小数点演算をソフトウェアでエミュレートすることはできません。GRAPE1の性能はFLOPSで図るとすれば、0FLOPSになってしまいます。スーパーコンピュータは浮動小数点演算能力が高いからこそスーパーなのです。シリーズ化によって演算性能を上げて成功していった筆者らがそれを知らないわけはありません。ずるいなー、と思いながらページをめくりました*2。
無論、それでGRAPEの価値が落ちるわけでありませんが。