3.7 NECスパコン

3.7.1 NEC SX-Aurora TSUBASA

NEC SX-Aurora TSUBASA [23](以下、SX)を用いた高速化について述べます。
SXは1VE(ベクトルエンジン)にベクトル長256のベクトル演算器を8コア持っています。
内側のループをコンパイラーの自動ベクトル化によってベクトル計算し、 外側のループをOpenMPによって並列計算します。
さらに複数のノードで計算するには領域分割を行いMPIを用いて並列計算します。
本プログラムは前節まででOpenMPとMPIによって並列化されていますので、SXに対応することは比較的容易です。

3.7.2 SXの計算時間

表3-7-1にWシステム(A300-8VE)の1VEと8VEの計算時間を示します。
表より8VEでは1VEの最大6.6倍速くなることがわかります。
またmatrixモードはnomatrixモードの3〜4倍速くなります。
8VEでは使用可能なメモリーが8倍になり、より大きな問題が計算できるようになります。
セル数が小さいときは計算の速いmatrixモードを使用し、 メモリーが足りなくなったら計算時間は増えますがnomatrixモードを使用してください。
実行コマンドは以下の通りです。

$ oth_ncc -n 8 data/benchmark/benchmark100.oth (1VEのとき)
$ mpiexec -ve 0-7 -n 8 oth_ncc_mpi -n 8 data/benchmark/benchmark100.oth (8VEのとき)

表3-7-1 SXの計算時間(Wシステム、()内は1VEとの速度比)
VE数benchmark100benchmark200benchmark300benchmark400
nomatrixmatrixnomatrixmatrixnomatrixmatrixnomatrixmatrix
120.8秒 (1.0)3.9秒 (1.0)91.9秒 (1.0)26.6秒 (1.0)331.0秒 (1.0)91.7秒 (1.0)636.7秒 (1.0)メモリー不足
8 4.2秒 (5.0)1.5秒 (2.6)17.3秒 (5.3) 6.7秒 (4.0) 50.0秒 (6.6)17.7秒 (5.2) 98.1秒 (6.5)39.2秒