Kyushu University Institutional Repository
新ベクトル計算機VP2600について
竹生, 政資
九州大学大型計算機センター研究開発部
島崎, 眞昭
九州大学大型計算機センター研究開発部
桜井, 尚子
九州大学大型計算機センター研究開発部
https://doi.org/10.15017/1474981
出版情報:九州大学大型計算機センター広報. 25 (1), pp.36-41, 1992-01-25. 九州大学大型計算機セン ター
バージョン:
権利関係:
新ベクトル計算機∨P2600について
竹生政資奉,島崎眞昭*,桜井尚子
1.はじめに
初めて本センターにベクトル計算機が導入されたのは,1985年(昭和60年)12月,富 士通(株)製ベクトル計算機FACOM VP100であった[1].当時は主記憶容量もかなり小
さくわずか32KBであったが,導入から1年後128KBへ拡張され,さらに1987年8月 にFACOM VP200にレベルアップされて今日に至っている.本センターにおけるベクト
ル計算機の変遷を表1に示した.表1 ベクトル計算機の変遷
ベクトル計算機 主記憶 システム記憶ヰ
OS
コンパイラ 運用期間FACOM VP100
FACOM VP200 FACOM VP2600/10
32MB l28MB l28MB 512MB
一 一 一 lGB
VPCF VPCF VPCF VPCF
FORTRAN77/VP FORTRAN77/VP FORTRAN77/VP FORTRAN77 EX/VP
1985/12〜1986/12 1987/Ol〜1987/07 1987/08〜1992/02 1992/03〜(予定)
*半導体(DRAM)による記憶装置で,主記憶と磁気ディスク装置との中間に位置づけられる 高速補助記憶装置である.システムの高速化のためにページングやスワップ処理の作業 域として,またVIO/FファイルやFORTRANの大規模配列として利用することができる.
VP200は1987年8月に導入して以来,約4年間にわたりFORTRAN言語による科
学技術計算に大いに利用されてきた.利用者の計算要求は年ごとに著しく増大し,最近とくに計 算機の処理能力不足が大きな問題となってきた.繁忙期にはほとんど毎日30件以上の巨大ジョ ブ(Fジョブ)が計算待ち状態になり,ジョブを依頼してから数日経たないと計算結果が得られ ないという状態が続いている.センター側もこうした事態に対処するため,スーパコンピュータ の早急なレベルアップを望んだが,ちょうどこの時期に米国との貿易摩擦が大きく社会問題化し てスーパコンピュータもその対象項目の一つとして挙げられ,スーパコンピュータを更新するた めには大幅な予算増額が必要となった.このためスーパコンピュータの更新は当初の目標よりか
なり遅れたが,入札手続も無事終わり1992年3月には現在のVP200を新しい富士通(株)
製ベクトル計算機FACOM VP2600/10(新製品発表は1989年9月)に置き換え
ることになった.本稿ではこのベクトル計算機のハードウェア構成および性能について解説する.
たいていの科学技術計算プログラムでは,DO文による配列データ(ベクトルや行列)の繰り 返し処理が計算時間の大半を占めている.ベクトル計算機は,こうした配列データに対する同一 オペレーションの繰り返し処理を演算パイプラインにより高速に処理するハードウェア機能を備
えている.FORTRAN77 EX/VPコンパイラは,ソースプログラムの中からベクトル
処理可能な部分を自動的に探し出しベクトル命令に置き換えてくれるので,利用者はベクトル処 理を特に意識してプログラムする必要はない.しかし,ベクトル計算機の性能をフルに引き出す ためには,その計算機独自のベクトル処理機構を考慮しながら,利用者自らの手でプログラムを平成3年11月25日受理
*九州大学大型計算機センター 研究開発部
九州大学大型計算機センター広報
Vo1.25 No.11992 −36一
チューニングする必要がある.ベクトル計算機においては,当然のことながら,プログラムの全 実行時間のうちほとんどが ベクトル処理可能な DO文の処理で占められている場合に限り高 速化が可能である.それ以外の場合には,基本的にベクトル計算機内のスカラーユニットの性能 によって決まってしまい,汎用計算機で処理した場合と比べてたいして差がない.
1992年3月以降の計算サービスは,
汎用計算機 ....FACOM M−1800/20(富士通㈱製)
ベクトル計算機 ....FACOM VP2600/10(富士通㈱製)
の2本だてで運用していく予定であるが,両者のスカラー性能の比較および使い分けについては 第4節で述べる.ベクトル計算機による高速処理の原理やコンパイラの自動ベクトル化機能,プ
ログラムのチューニングにおける注意点等については文献[2],[3]を参照されたい.
なお,ベクトル計算機はしばしばスーパコンピュータの名で呼ばれることがあるが,本来スー パコンピュータという語は 現時点で 最も処理速度の速いコンピュータを指す代名詞であり,
特定のアーキテクチャの計算機を指すわけではない.演算パイプライン方式による高速化技術は ほぼ限界に近づきつつあり,代わって複数CPUを使って高速化をはかろうとする並列計算機の 研究が活発になってきている.
2.VP2600/10のハードウェア構成
VP2000シリーズの最上位モデルであるVP2600には
VP2600/10 .._. 1台のスカラーユニットと1台のベクトルユニット VP2600/20 .._. 2台のスカラーユニットと1台のベクトルユニット の2つのモデルがある.両者はスカラユニットの台数に違いがあり,後者(デュアル・スカラー プロセッサ)は前者に比べて2倍のスカラー性能をもっている.しかし,ベクトル性能に関して
は同等である.図1にVP2600/10のハードウェア構成を示す.また,比較のため図2に
従来のVP200のハードウェア構成を示した.叢議禦㌻ .
産記
処理装置
〔一、
マスクレジスタ
寧ロード/
ストア
゜ロード/
ストア
マスク
ベクトル レジスタ
マスク
傘乗算&加算 ノ論理演算
゜乗算&加算
/論理演算 除 算
ベクトルユニット
バッファ ストレージ
スカラ 演1障器
汎用レジスタ 浮動小数点レジスタ
スカラユニット
図1 VP2600/10のハードウェア構成
一
37一 酬大学大型轄艦ζ「罐
のの の コののの
1 マスクレジ・遙 }
1
ベクトル ユニツト l l | I l
1 汎用レジスタ l l 浮動小数点レジスタ 1
圏,L___一一一_∪
図2 VP200のハードウェア構成
表2はベクトル処理装置,主記憶装置およびシステム記憶装置の性能諸元である.表には参考 のためVP200のデータも示し, VP200から改善された項目についてはアンダーラインを
付けた.図1,図2および表2から,VP2600/10の演算パイプライン(乗算&加算/論
理演算)はVP200の乗算パイプラインと加算/論理演算をそれぞれ2っずつ束ねて…つのパ イプラインにまとめたものであることがわかる.表2 VP2600/10およびVP200のハードウェァ性能諸元
VP2600/10 VP200
マシンサイクル 3.2nsec
7nsec
ベクトルユニット数 一一1 1
スカラユニット数 1 1
最大ベクトル性能 5GFLOPS 0.571GFLOPS
パイプライン本数 一7 6
ベクトル パイプラインの太さ コ 2
処理装置 パイプラインの並列可能動作数 可 5
ベクトルレジスタ容量
128KB
一64KB
一
汎用レジスタ 16(32ビフト) 16(32ピ7ト)
浮動小数点レジスタ 8(64ビフト) 8(64ヒ㍉ト)
バッファストレージ容量
128KB 64KB
主記憶装置 素子 lMビット/チフプSRAM
一
64Kピット/チフプSRAM一
記憶容量(実装)
512MB 128MB
システム 素子 4M, lMビット/チフプDRAM
一
なし記憶装置 記憶容量(実装)
lGB
九州大学大型計算機センター広報
VoL 25 No.11992 −38一
3.VP2600/10の実行性能
先ず,VP200の理論最大性能について考えてみる.図2からわかるように, VP200に
は全部で6本のパイプラインがあるが,演算パイプラインは加算/論理演算,乗算および除算の3本である.これらの演算パイプラインは,それぞれ内部で2重化されており,3本のうち任意 の2本は同時に並列動作させることができる.いまロード/ストア・パイプラインが効率よく動 作し,主記憶とベクトルレジスタの間のデータ転送が滞りなく動作していると仮定する.さらに,
DOループのベクトル長が十分長くベクトル処理の立ち上がり時間が無視できると仮定すると,
理論的な最大性能は,例えば加算および乗算パイプラインが並列にフル稼働するとき達成される.
この場合,それぞれのパイプラインが2重化されていることを考慮すると,各マシンサイクル毎 に4つの演算(加算と乗算)が行われることになり,これは実行速度に換算すると4/7・0.571 GFLOPSとなる.
同様に考えると,VP2600/10の場合,2つの演算パイプライン(乗算&加算/論理演
算)が並列にフル稼働しているとき理論最大性能が実現される.各々のパイプラインは,加算と 乗算がそれぞれ4重化されているので,1本のパイプラインで同時に8つの演算(加算と乗算)を処理することができる.2本並列に動作しているときには,1回のマシンサイクルで16個の 演算が行われる.実行速度に換算すると16/3.2・5GFLOPSとなる.
次に,通常のプログラムによる処理性能をみるために,当センターの利用者プログラム(SS
LHをNUMPACで置き換え,基本的なチューニングを施した)の例を表3に示す.処理性能 はVP200に対する比で示されている.この表から,通常のプログラムにおいてはVP260 0/10の処理性能はVP200のほぼ4倍程度であることがわかる.一方,表2より理論最大
処理性能の比は約9倍である.表3 VP200に対するVP2600/10の実行性能比
プログラム VP200での 実行時間
VP2600/10での 実行時間
VP200に対するVP2600/10 の相対実行性能比 プログラムA
プログラムB プログラムC
357秒
144秒411秒
82.845秒 38.781秒 79.570秒
4.3 3.7 5.2
このように,理論最大性能と実際のプログラムにおける性能のあいだには一般に大きな隔たり がある.しかし,クラウト法による実行列の連立一次方程式を解く場合などには,新しくVP2 600用に導入されたDVLAXサブルーチンを使うことにより,実プログラムにおいても次元
数が1000程度の場合VP200に対し性能向上比約8倍が達成できる.従来この種の連立一 次方程式の解法にはSSLn/VPのDLAXサブルーチンが広く用いられてきたが,DVLA XはVP2600の演算パイプライン構成に適したブロッキングLU分解法を用いている.表4 は係数行列の次元をいろいろ変えたときのDLAXとDVLAXの性能を, VP200とVP2
600/10について比較したものである.
一
39一 九州大学大型言朧『《《「鶴
表4 DLAXとDVLAXの性能比較
行列の次数
50 100 250 500 1000VP200(ms) 3.43 9.62 49.58 229.38 1578.78
DLAX
VP2600/10(ms) 1.29 3.45 16.26 65.09 341.48対VP200性能比 2.66 2.79 3.05 3.52 4.62
DVLAX
VP2600/10(ms) 0.74 1.88 9.47 35.24 189.33 DLAX(VP200)に対するDVLAX(VP2600)の相対性能
4.64 5.12 5.24 6.51 8.34
※係数行列は正規直交行列:A・(a,」),a、、・a、1=sqrt(2/(n+1))sin(ijπ/(n+1))
定数ベクトル:B・(b、),b、=a、1寸a、2+a、3↓....+ain
実測に用いたコンパイラ:FORTRAN77 EX/VP VI2LlO(VP200およびVP2600/10)
4.VP2600/10の運用にあたって
新しいベクトル計算機による運用開始にあたって注意すべき点を以下に示す.
(1)運用開始は1992年(平成4年)3月4日の予定.
(2)FORTRANコンパイラはFORTRAN77 EX/VPを使うこと.
(3)従来DLAXを使って実行列の連立一次方程式を解いていた場合はDVLAXを使う.
(4)ジョブクラス名が一部変更になる(Fクラスを廃止しVクラスを導入).
(5)1つのプログラムから使える最大主記憶容量は200MB.
(6)1つのプログラムの最大実行時間は3時間(要審査ジョブを除く).
(7)数値計算機サービスは以下の2本だて.
・ベクトル計算機VP2600/10 ・汎用計算機M1800/20
(8)VP2600/10のスカラーユニットのスカラー処理性能は M1800/20とほぼ同じ.
上記項目(2)は,昨年11月から運用開始したFORTRANの新コンパイラ(FORTRAN77 EX,
FORTRAN77 EX/VP)と旧コンパイラ(FORTRAN77, FORTRAN77/VP)を最終的に新コンパイラに一本 化する計画と関連している.VP2600/10は旧コンパイラでも動作しないわけではないが,
新VP本来の性能が十分に引き出せないので,特別な事情がないかぎりできるだけ新コンパイラ を使っていただきたい.
新しく導入される新VPは512MBの主記憶を実装しているが(最大2GBまで実装可能),
多数のジョブを効率よく処理できるように,一つのプログラムから利用できる最大主記憶容量は
200MBにする予定である(上記項目(5)).この値は従来のVP200の90MBの約2倍に
相当する.
前にも述べたように,一般にプログラム内にDO文があり,かつそれが効率よくベクトル化で きる場合に限り演算パイプライン方式によるベクトル計算機本来の性能が発揮される.これ以外 のプログラムについては,計算処理の大部分がスカラー処理されるので,ベクトル計算機は単な る汎用計算機として機能してしまう.ここで問題になるのは,ベクトル処理に向かないプログラ ムを実行させる場合,ベクトル計算機にジョブを依頼してそのスカラーユニットに計算させるの が得か,それとも汎用計算機にジョブ依頼すべきか,である.従来は,VP200のスカラーユ
九州大学大型計算機センター広報
Vol.25 No.11992 −40一
ニットの処理性能が汎用計算機M780/20の約半分程度しかなかった(VP200のスカラ
ーユニットはM780の一つ前の世代のM380アーキテクチャだった)ために,明かに汎用計 算機で実行させるほうが有利だった.しかし,今回から状況が変わる.つまり,プログラム中の ほとんどの部分がベクトル処理に向かない場合でさえベクトル計算機の処理速度は汎用計算機と ほぼ同じ程度であり,一般にはベクトル処理できる部分が含まれるのが普通であるから,処理速 度に関しては常にベクトル計算機の方が汎用計算機より速いことになる(上記項目(8)).
しかし実際の利用あたっては,ベクトル処理に向かないプoグラムをベクトル計算機で実行さ せることは,特にベクトル計算機が混んでいるときにはベクトル計算機の利用効率を低下させる ことになるので,できるだけ汎用計算機を利用することが望ましい.またこの場合,演算負担金 を考えてみてもベクトル計算機のほうが汎用計算機に比べて割高になる.
5.おわりに
今回のベクトル計算機の更新に伴う性能評価試験のためのベンチマークプログラムを作成する にあたり,当センターの多数の利用者の方々からプログラム(およびその説明書)を提供してい ただいた.ここで紙面を借りて感謝したい.
新しく導入するベクトル計算機は1GBのシステム記憶装置をもっており(最大32GBまで 実装可能),システムの高速化のためにページングやスワップ処理の作業域として利用したり,
あるいはVIO/FファイルやFORTRANプログラムの中で大規模配列をこれに割り当てる
ことにより従来の磁気ディスクの場合に比べ格段に経過時間を短縮することができる.また,汎用計算機で運用しているUNIX系OSであるUXP/Mを直接サポートすることができ,汎用
計算機を介さずに直接ベクトル計算機の上でUNIXを使って作業を行うことができる.しかし,これらの運用形態についてはまだ検討中の段階であり,現時点では詳細について述べることはで きない.具体的な使用方法については追ってセンターニュースで広報する予定である.
参考文献
[1]ベクトルプロセッサの導入について,
九州大学大型計算機センターニュース,No.317,1985, pp.8−9.
[2]磯辺ほか,ベクトルプロセッサFACOM VP100について,
九州大学大型計算機センター広報,Vo1.18, No.5,1985, pp.397−412.
[3]島崎眞昭,計算機科学/ソフトウェア技術講座9:スーパコンピュータとプログラミング,
共立出版(株),1989,pp.1−238.
一