FACOM 230-75 APU(Array Processing Unit(注1))は,池田敏雄の主導により,1973年から検討が開始され,方式,機能,構成など多くの変遷を経て,1977年に完成した日本で初めてのベクトル計算機である.FACOM 230-75 APUは,航空宇宙技術研究所(2003年10月より宇宙航空研究開発機構 JAXA)に納入され,1977年8月から運用が開始された.米国CRAY社のCRAY-1からわずか1年後のことであった.
- (注1)Array Processingとはベクトルやマトリックスといったアレイデータを処理することを示す.
FACOM 230-75 APUのハードウェア仕様の概略は以下の通りである.
- i)FACOM 230-75 APUと汎用大型計算機FACOM 230-75は主記憶を共有し非対称マルチプロセッサを構成する.
- ii)マシンサイクルタイムは90ns(11MHz)であり,加算パイプライン(単精度22MFLOPS),乗算パイプライン(単精度11MFLOPS),および論理演算パイプラインの3本のパイプラインを有する.
- iii)データタイプは,固定小数点,単精度・2倍精度・4倍精度浮動小数点データである.
- iv)256語の汎用レジスタ,1792語のベクトルレジスタ,2048語のキャッシュメモリを有する.
- v)主記憶は,容量1M語×36ビットで,32ウェイインターリーブ構成である.
FACOM 230-75 APUのソフトウェア仕様の概略は以下の通りである.
-
i)オペレーティングシステム
FACOM 230-75オペレーティングシステム(MONITOR VII)にAPUモニタと呼ばれる機能を追加し,APUが自らこの一部を実行するので,非対称マルチプロセッサシステムを効率よく運用することができる. -
ii)FORTRAN仕様とコンパイラ
標準FORTRAN仕様をベースにベクトル処理を効率的に記述できる拡張を行った.これをAP-FORTRAN仕様と称し,主なものは以下の通りである. -
- ベクトル算術式やベクトル関数の効率的記述
- ベクトルの和,ノルム,内積,コンボルーション,スカラ積和,部分マトリックス積などの関数の効率的記述
- ベクトル要素の収集,拡散,マスクの関数の効率的記述
- ベクトルのサーチ,比較の関数の効率的記述
これら記述に基づき,コンパイラは,APUのハードウェアの能力を活かす最適化を積極的に進めた.その代表はおよそ以下の事柄である.
- a.実行性能向上のため,多数ある汎用レジスタおよびベクトルレジスタの有効利用.
- b.連続ベクトルのみならず,ストライド付きのベクトル,およびリストベクトルのロード・ストア,および演算のベクトル化を可能とした.
- c.ベクトルギャザ/スキャッタ命令を用いて,DOループの中のIF文のベクトル化をコンパイラで可能とした.
- d.外部記憶装置(磁気ディスク)とのファイル入出力において,バッファなしの並列入出力を可能とした.
特にb,c,dは,現在のベクトルスーパーコンピュータと呼ばれるマシンでは標準となっているが,当時(1977年)は先駆的機能であった.米国CRAY社がスーパーコンピュータとしてb,cの機能をサポートしたのは1983年発表のCRAY-XMPにおいてである.
FACOM 230-75 APU の性能は以下の通りである.1977年に実施した空力,原子力,および気象の顧客のアプリケーションの実行スピードは,FACOM230-75 CPUの5倍から10倍の高速性を達成した.ある顧客アプリケーションにおいて1977年当時世界最高の性能といわれた汎用大型計算機FACOM M-190の3倍から5倍以上の性能を実測した.
FACOM 230-75 APUの開発に際しては,航空宇宙技術研究所(注2)の三好甫との間で共同検討が行われた.アプリケーションの高速実行の立場から見たハードウェア仕様,およびアプリケーション記述言語としてのAP-FORTRAN仕様などは,航空機空気力学計算の高速実行の必要性を強く唱えていた三好甫の指導と提案を得て策定された.
- (注2)航空宇宙技術研究所:FACOM 230-75APUの開発に向けた共同検討や,その後の空気力学数値シミュレーションの実績を踏まえて,並列スーパーコンピュータNWT(1993年に稼働)を開発するなど,我が国のスーパーコンピュータの発展に大きく貢献した.
FACOM 230-75 APUの開発により,大規模科学技術計算機に関する多くの貴重な知見を獲得することができ,これが富士通のスーパーコンピュータFACOM VP-100シリーズの大きな礎になった.