先程「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の ベクトル内積の計算時間比較もありました。
XeonPhi | SX-Aurora TSUBASA | |
モデル | 3120P | Type C |
配列の大きさN | 10,000,000 | 10,000,000 |
繰り返し回数L | 1,000 | 10,000 |
N×L | 10 Giga | 100 Giga |
スレッド数 | 228 thread | 8 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 | |
配列の大きさN | 10,000,000 | 10,000 |
繰り返し回数L | 10,000 | 10,000,000 |
N×L | 100 Giga | |
スレッド数 | 8 thread | 8 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ももう少し盛り上がって来るのかなぁなんて思います。
さて、今日はここまで!最後までありがとうございました!
おわりっ!