SX-Aurora TSUBASAではじめるベクトルプログラミング(PDF)

SX-Aurora TSUBASAの性能情報を見つけたぞ!

この記事は約4分で読めます。

先程「SX-Aurora TSUBASA」で検索していたら、なんとFOCUSスパコンのSX-Aurora TSUBASAを用いたベクトル計算の実行結果に関しての情報を見つけましたので紹介したいと思います。

 

掲載サイト⇒株式会社EEM  高速化プログラミング入門 – 14. ベクトル計算

 

(参考)FOCUSスパコン:ベクトルエンジン搭載サーバの共用開始について
https://www.j-focus.or.jp/focus/focus_information/entry-1851.html

 

SX-Aurora TSUBASAのプログラミングはXeon Phiに似ている

こちらサイトはテキストが多いですが、簡潔に書かれており、非常に参考になるので一通り目を通して見ると良いかと思います。

 

例えば以下などは参考になりますね。

ベクトル計算とは長いfor文を長いベクトル長(ここでは256)を持ったVE(Vector Engine)で一括処理するものです。 またOpenMPを用いて並列計算するとさらに高速化されます。

プログラミングはXeonPhiとほぼ同じであり、 OpenMPによって並列化されており、かつアルゴリズムがベクトル化可能であれば、 コンパイラーの自動ベクトル化機能によってコンパイルするだけで高い性能を得ることができます。

また、XeonPhiと異なり、ホストとコプロセッサーの区別が不要ですので操作性に優れています

 

SX-Aurora TSUBASAとXeon Phiの ベクトル内積の計算時間比較

また、SX-Aurora TSUBASAとXeon Phiの ベクトル内積の計算時間比較もありました。

XeonPhiSX-Aurora TSUBASA
モデル3120PType C
配列の大きさN10,000,00010,000,000
繰り返し回数L1,00010,000
N×L10 Giga100 Giga
スレッド数228 thread8 thread
計算時間(単精度)0.97秒1.20秒

 

演算量が同じではないので、正確ではないかもしれませんがXeonPhiの演算量(N×L)は10の10乗、SX-Aurora TSUBASAの演算量(N×L)は10の11乗で、SX-Aurora TSUBASAはXeonPhiの10倍です。

それにもかかわらず、計算時間は2割程度しか変わりませんね。

演算量は表13-1のXeonPhiの10倍です。 最も速いケース(No.1, 8スレッド)ではXeonPhiの5倍以上速くなっています(100GFlops相当)。

 

「配列の大きさ」や「繰り返し回数」や「スレッド数」

XeonPhiでもSX-Aurora TSUBASAでも「配列の大きさ」や「繰り返し回数」には注意する必要があります。

SX-Aurora TSUBASA
モデルType C
配列の大きさN10,000,00010,000
繰り返し回数L10,00010,000,000
N×L100 Giga
スレッド数8 thread8 thread
計算時間(単精度)1.20秒89.16秒

同じ演算量だとしても「配列の大きさ」と「繰り返し回数」によって大きく性能が異なりますね。

配列の大きさを十分なものにして、繰り返し回数を減らしたほうが計算時間は短くなります。

これは特にSX-Aurora TSUBASAだからというわけではなくてXeonPhiでも同様ですね。

 

XeonPhiのページには以下のような記述もありました。

No.3-4ではスレッド起動回数が多いために計算時間が増えています。 スレッド起動回数は繰り返し回数と同じです。 1,000,000回のスレッドを起動するのに50秒程度時間がかかっており、 これからスレッドを起動する時間(オーバーヘッド)は約50μsecと見積もることができます。

 

まとめ

いかがでしたでしょうか。

 

SX-Aurora TSUBASAの情報は少ないのでこういう情報は貴重ですね。

 

こういう情報がもっともっとネット上で見つかる様になるようになると良いなと思いました。

 

更にいうと、例えば今回登場したEEM社の「電磁界シミュレーター」がSX-Aurora TSUBASAで有効なのかどうかといった情報も出てくるとSX-Aurora TSUBASAももう少し盛り上がって来るのかなぁなんて思います。

 

さて、今日はここまで!最後までありがとうございました!

 

おわりっ!