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

【まとめ】NECのSX-Aurora TSUBASAの凄いところ!

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

みなさん、こんにちわ。Vectory(@vectorywork)です。

 

今回はNECが出した新しいプラットフォーム「SX-Aurora TSUBASA」について書きたいと思います。

 

SX-Aurora TSUBASAとは?

sx_aurora_title

出典元:https://jpn.nec.com/hpc/sxauroratsubasa/index.html

「SX-Aurora TSUBASA」は、2017年10月25日に発表されたNEC製のスーパーコンピュータSXシリーズの技術を踏襲した最新のハードウェアプラットフォームです。

 

単純にSXシリーズ後継機の最新機種のスーパーコンピュータと言わないのは、今までのSXシリーズからアーキテクチャを一新しているからです。

 

今までターゲットセグメントを科学技術計算領域、いわゆるHPC(High Performance Computing)研究機関に限定していたSXシリーズですが、SX-Aurora TSUBASAからはAIやビッグデータ解析、金融、次世代流通、医療、画像など、今まで扱ってこなかったその他の領域についても広くターゲットと出来る製品となっているようです。

 

全然終わっていない、むしろこれから!なSXシリーズのロードマップ

SX-Aurora TSUBASA-roadmap

出典元:https://www.pccluster.org/ja/event/2017/12/pcccSymp17_nec.pdf

最初のSXシリーズは1983年に発表されました。

 

2002年には、地球シミュレータで海外ベンダを圧倒する性能で、アメリカの「ニューヨーク・タイムズ」からは、スプートニクショックをもじって「コンピュートニック・ショック」と報じられ、日米貿易摩擦にも影響を及ぼす程の製品になりました。

 

その後SXシリーズは、新機種を出していきますが、理化学研究所(理研)が主導した日本最大のスーパーコンピュータ「京」からの開発を撤退したニュースから「NECはスパコン事業を撤退か?」と誤認されたこともあったようです。

この噂は勘違い(もしくはNECをよく思わない方々が流したネガティブキャンペーン)だったようです。

あくまで「京」の開発から撤退しただけで、SXシリーズの開発は続けられており、SX-Aurora TSUBASAの次のモデルもロードマップに掲載されるくらい開発に意欲的のようです。

 

全然終わっていない、むしろこれから。

 

SX-Aurora TSUBASAの凄いところ

SX-Aurora TSUBASAの凄いところは、イマイチ分かりにくいので、順にあげて見ていきたいと思います。

 

コアあたりの性能が高い

 SX-Aurora TSUBASAは世界最速のコア性能を持っています。

これって凄くないですか?

世界一ですよ。ナンバーワン。

 

普通のサーバのコア性能って100GFLOPSくらいだと思いますが、は307GFLOPSです。

3倍です。3倍。界王拳さんば…(ry

 

▼FLOPSについてはこちらもどうぞ
【基本】CPUやGPUの理論値FLOPSの計算方法と測定方法

 

コア性能が高いと何が良いかというと、

一つは、並列(複数コアで)計算できないアプリケーションでも性能が高いことです。

最近の汎用CPUは世代が新しくなっても、コアあたりの性能はあまりあがっていないため、コアあたりの性能が高めたいというニーズはあります。

 

二つ目は、同じ性能を出すために必要なコア数が少なくて済むことです。

どういうことかというと、並列化による性能低下の影響が少ないため、非常に性能効率がよいです。

利用するコア数が少ないと省電力になりますし、コストパフォーマンスもよくなります。

 

ベクトル長が長い(256要素✕8)

SX-Aurora-TSUBASA-flops

出典元:https://www.pccluster.org/ja/event/2017/12/pcccSymp17_nec.pdf

ベクトルスーパーコンピュータの後継機だけあってベクトル長が他と比べ物になりません。

その長さなんと、256要素

ちなみに最新のIntel XeonのAVX512のベクトル長は8要素です。

つまり32倍で圧倒的です。

 

メモリ性能(帯域)が高い(1.2TB/s)

ただ、ベクトル長が長いだけでは、意味がなく、十分なデータ供給量が必要になります。

 

そこのところは当然意識されて設計されていて、何と1.2TB/sでこちらも世界一の性能とのことです。

 

最新サーバだと0.25TB/sくらいの性能なので約6倍ですね。

 

従来機と比べてかなりコンパクトになった

SX-Aurora-TSUBASAがコンパクト

出典元:https://jpn.nec.com/hpc/

理論性能比較で、

SX-9⇒ベクトルエンジンカード1枚分

SX-ACE⇒ベクトルエンジンカード7枚分

になる計算です。

 

これすごくないですか?

かなりコンパクトになってませんか?

 

テクノロジーの進歩って凄いですね。

 

雑談1:サマーウォーズにSX-9が出てきてる?

SX-9の画像が出てきたので、こんなところもご紹介しておきます。

 

細田守監督の大ヒット映画「サマーウォーズ」に出てくるスーパーコンピュータがSX-9に似ていると話題になったことがありました。

 

公式にはSX-9をモデルにしたと行った情報はないのですが、確かに比較してみるとそっくりですね。(^^;)

 

雑談2:シン・ゴジラにJAMSTECの地球シミュレータ(ES3)が登場

映画シン・ゴジラの細胞を解析に利用したのがスパコンとしてJAMSTECにある地球シミュレータが使われていましたね。

 

特別なプログラミング言語は不要!Fortran、C、C++をサポート

GPGPUをトライしたことがある人はわかると思いますが、CUDAの扱いが結構厄介だったりします。(昔に比べたらかなり良くはなっています)

 

このCUDAのところで挫折してしまう人が多いのですが、SX-Aurora TSUBASAは、Fortran、C、C++といった一般的な言語でプログラム開発ができますので、研究者にとっては、導入のハードルがGPUに比べるとかなり低いです。

 

研究者はプログラムを書くことが目的ではなく、その先の研究で成果を出すことが目的なので、プラログラム開発にかける時間は出来るだけ削減したいですよね。

 

ちなみにサポートしているバージョンは以下のようですね。

  • Fortran 2003
  • Fortran 2008
  • C11
  • C++14

 

SX-Aurora TSUBASAはハードウェアを支えるソフトウェア技術もすごい!

SX-Aurora TSUBASAの支える技術力のすごさは、ハードウェアだけではありません。

 

周辺含めソフトウェアの技術も凄いと思います。

 

独自OSを開発できる技術力を持っている

従来のSXシリーズのOSは、SUPER-UXという独自のOSでした。

 

つまりNECにはOSが開発できる技術力というものがあります。

 

OSの開発といえば、Windowsだったらマイクロソフトだし、AndroidだったらGoogleだし、iOSだったらAppleです。

 

世界の超一流企業ならわかりますが、イチ日本の企業が商用のOS作ってるってすごいですよね。

 

SX-Aurora TSUBASAからは、OSはLinuxを採用したようですが、今まで培ってきた技術力があること自体がすごいですし、何かあったときの対応力がぜんぜん違うでしょうね。

 

一般的なLinuxOS(RHEL)で動作へ変更

前述のとおり、SX-Aurora TSUBASAからは、LinuxOS(Red Hat Enterprise Linux)が採用されるようになったそうです。

 

これにより、今まで単純に利用できなかったInfinibandなどや周辺機器やその他ツール類との親和性が非常に高まることになります。

 

今までなんで採用してこなかったかというと、おそらく独自開発しているOSであれば、何かあったときの対応がスピーディーに動けるというのがあったのだと思います。

今ほどLinuxOSが普及していなかった時代に不安提案OSを採用することにはリスクが高かったということなのでしょう。

 

これもかなり大きな変更・決断でしたでしょうね。

 

開発側からしたら、今までとは大きく方針変更することになるので非常に大変だったと思います。

このあたりはもっと評価されても良いのかなと思います。

 

VE OSはGitHubにて公開中

出典元:https://uk.nec.com/en_GB/global/solutions/hpc/sx/software.html

ちなみにこれは知る人ぞ知るといった少しマニアックな情報ですが、SX-Aurora TSUBASAはLinuxOSの上に「VE controlling SW(VE OSとも言ったりするようです)」というものをのせてベクトルエンジンを制御しているそうなのですが、なんとこのVEOSは公開されています。

 

出典元:https://www.nec.com/en/global/prod/hpc/aurora/ve-software/index.html

ちなみに下記のZIPファイルの中には日本語のドキュメント類もありました。(ちょっと内容は私では理解できませんが。。。)
https://www.nec.com/en/global/prod/hpc/aurora/ve-software/index.html

 

独自のコンパイラを開発できる技術力を持っている

アプリの性能はコンパイラにかかっていると言っても過言ではない

SX-Aurora TSUBASAで動作させるプログラムは、通常のFORTRANやC言語で書くと前述しましたが、これを実際に動かすには、プログラムをコンパイルすることが必要です。

 

SX-Aurora TSUBASAの性能を引き出すには、そのコンパイラが優秀である必要があります。

(逆にいうとコンパイラが未成熟なうちは性能がなかなか出ない)

 

SX-Aurora TSUBASAのアーキテクチャを熟知し、今までもコンパイラの開発を続けてきたNECはこのあたりも強いですよね。

 

独自のMPIを開発できる技術力を持っている

出典元:https://uk.nec.com/en_GB/global/solutions/hpc/sx/tools.html

ちなみにMPIもNEC独自のものになります。

 

MPIを変えると性能が変わるというのは、PCクラスタの世界でもよくある話なのでMPIも非常に重要になってきます。

 

独自のスケジューラを開発できる技術力を持っている:NEC Network Queuing System V:NQSV(エヌキューエスブイ)

出典元:https://jpn.nec.com/hpc/sxace/software_s01.html

ちなみにNECはスケジューラも提供しています。

SX-Aurora TSUBASAを効率よくジョブアサインする仕組みは当然あるでしょうから、SX-Aurora TSUBASAを利用するなら、NQSVを使わない理由はなさそうです。

 

独自の並列ファイルシステム開発できる技術力を持っている:NEC Scalable Technology File System:ScaTeFS(スケートエフエス)

出典元:https://jpn.nec.com/hpc/sxace/software_s01.html

高速な計算ノードには、計算ノードには高速なファイルシステムが必要ですよね。

なんとNECは並列ファイルシステムも昔から提供しています。

 

並列ファイルシステムといえばオープンソースのLustreが有名ですが、NECも提供していたのですね。

総合力がすごいですね。。

 

SX-Aurora TSUBASAに最適なライブラリもある:NEC Numeric Library Collection

SX-Aurora TSUBASAには、NEC Numeric Library Collectionというライブラリが提供されています。

 

従来のSXシリーズでいうところの、ASL、Numeric Factoryの後継ラインナップと言えるかと思います。

 

BLAS、FFT、FFTW、LAPACK、ScaLAPACKといったライブラリが提供されています。

 

性能解析ツールNEC Ftrace Viewerや並列デバッガNEC Parallel Debugger

出典元:https://uk.nec.com/en_GB/global/solutions/hpc/sx/tools.html?

もちろん、性能解析ツールやデバッガも用意されています。

 

プログラムの高速化はコストの高い部分からチューニングしていく必要がありますが、昔から評価の高い解析ツールFtraceも継続して利用可能なようです。

 

よくこの少ない開発費でここまで出来たな。。。

IRを見ると、Intelの研究開発費は、1兆円を超えています。

一方でNEC全体の研究開発費は、1000億円程度です。

文字通り桁違いです。

 

しかもSX-Aurora TSUBASAは、あくまでNECの事業のほんの一部ですので、SX-Aurora TSUBASAにかけている開発費は更に少ないことが簡単に推測できます。

 

ちなみに理研(富士通)の京の国から出ている開発費は約1111費円です。
http://www.r-ccs.riken.jp/jp/overview/budget/development_cost.html

これは国からお金が出ているので企業リスクとして低いです。

その上、京の保守費だったり、競争ゼロのほぼ指名入札の数億円の調達があるのでそのあたりでも費用回収しているでしょう。

数千億円の国のお金を使って開発して、それを商用転用するのは特定企業を優遇しすぎなような気もしますが、そこは商売がうまさですね。

 

しかし、こんな厳しい市場の中で独自プロセッサを開発し続けているNECは本当にすごいと思います。

 

日本の技術力を応援したい

こんな事言うと、「そんなんだからグローバルで競争力がないんだよ」と、言う人もいそうですが、日本発の独自プロセッサだったり、技術を、厳しい環境の中でも継続して開発を続けてきた日本の技術力を応援したいと改めて思いました。

 

SX-Aurora TSUBASAは、歴史ある日本の技術の結晶といって良いと思います。

 

ポピュラーと呼ぶにはまだまだと思いますが、新アーキテクチャで、いろいろな人が購入できるようになったと思いますし、あとは具体的な性能や事例が出れば、もっと広がっていくのではないかと思います。

ですのでこれからももっともっと頑張って欲しいと思います。

 

さて、今日はここまで!

おわりっ!