
NEC SX-Aurora TSUBASAは、 NEC SXアーキテクチャファミリーのベクトルプロセッサです。[1] [2]以前のSXスーパーコンピュータとは異なり、SX-Aurora TSUBASAはPCIeカードとして提供され、NECでは「ベクトルエンジン」(VE)と呼んでいます。[2] 8枚のVEカードをベクトルホスト(VH)に挿入できます。ベクトルホストは通常、Linuxオペレーティングシステムを実行するx86-64サーバーです。[2]この製品は2017年10月25日のプレスリリースで発表され、NECは2018年2月に販売を開始しました。[3]この製品はSX-ACEの後継です。
ハードウェア
SX-Aurora TSUBASAは、地球シミュレータのベースとなっているベクトルコンピュータシステムであるNEC SXシリーズとSUPER-UXの後継機です。ハードウェアは、 PCIエクスプレス(PCIe)インターコネクトを介して接続されたベクトルエンジン(VE)を備えたx86 Linuxホストで構成されています。[4]
高いメモリ帯域幅(0.75~1.2 TB/秒)は、PCIeカードのフォームファクタに実装されたシリコンインターポーザ上の8つのコアと6つのHBM2メモリモジュールから得られます。 [5] VEのオペレーティングシステム機能はVHにオフロードされ、主にVEOSを実行するユーザー空間デーモンによって処理されます。[6]
クロック周波数 (1.4 または 1.6 GHz) に応じて、各 VE CPU には 8 つのコアがあり、ピーク性能は倍精度で 2.15 または 2.45 TFLOPSです。このプロセッサは、合計 24 GB または 48 GB の高帯域幅メモリを備えたシリコン インターポーザ上に 6 つの HBM2 モジュールを世界で初めて実装しています。これは、x86_64 サーバーである Vector Host (VH) によってホストされる標準のフル レングス、フル ハイト、ダブル ワイド PCIe カードのフォーム ファクタに統合されています。サーバーは最大 8 つの VE をホストでき、クラスター VH は任意の数のノードに拡張できます。[1] [7] [2]
製品リリース
バージョン2ベクトルエンジン[8]
バージョン 1 ベクトル エンジン
ベクトルエンジンのバージョン1.0は16nm FinFETプロセス(TSMC製)で製造され、3つのSKUでリリースされました(後続のバージョンでは末尾にEが追加されます)。[9]
機能単位
8 つの SX-Aurora コアにはそれぞれ 64 個の論理ベクトル レジスタがあります。[10]これらは 256 x 64 ビット長で、パイプラインと 32 倍並列 SIMD ユニットの組み合わせとして実装されています。レジスタは、並列実行可能な 3 つの FMA 浮動小数点乗算および加算ユニット、および固定小数点演算と除算および平方根パイプを処理する 2 つの ALU 算術論理ユニットに接続されています。[10] FMA ユニットとその 32 倍 SIMD 並列性のみを考慮すると、ベクトル コアは 1 サイクルあたり 192 回の倍精度演算が可能です。[10] 2 つの単精度値がベクトル レジスタの 1 つの倍精度スロットのスペースにロードされる「パック」ベクトル演算では、ベクトル ユニットは倍精度と比較してクロック サイクルあたり 2 倍の演算を実行します。
スカラー プロセッシング ユニット (SPU) は、各コア上の非ベクトル命令を処理します。
メモリとキャッシュ
SX-Aurora TSUBASAプロセッサのメモリは、チップオンウェーハオンサブストレート技術を利用してCPUと同じパッケージに実装された6つのHBM2第2世代高帯域幅メモリモジュールで構成されています。プロセッサモデルに応じて、HBM2モジュールは4または8ダイの3Dモジュールで、それぞれ4 GBまたは8 GBの容量があります。したがって、SX-Aurora CPUには24 GBまたは48 GBのHBM2メモリがあります。大型のHBM2モジュールで実装されたモデルは、1.2 TB/sのメモリ帯域幅を備えています。[11]
ベクトル エンジンのコアは、16 MB の「ラスト レベル キャッシュ」(LLC) を共有します。これは、ベクトル レジスタと SPU の L2 キャッシュに直接接続されたライトバック キャッシュです。LLC キャッシュ ラインのサイズは 128 バイトです。LLC でのデータ保持の優先順位は、ある程度ソフトウェアで制御できるため、プログラマーは、どの変数または配列をキャッシュに保持するかを指定できます。この機能は、NEC SX-ACEの Advanced Data Buffer (ADB) の機能に匹敵します。
プラットフォーム
NECは現在、SX-Aurora TSUBASAベクトルエンジンを4つのプラットフォームに統合して販売している。[12] [9]
- A111-1: タイプ10BのVEカード1枚を搭載したタワーPC
- A101-1: タイプ10CEのVEカード1枚を搭載したタワーPC
- A311-4: 最大4枚のBEタイプのVEカードを搭載したデュアルソケット1U 19インチラックマウント型Xeonスケーラブルサーバー
- A311-8: 最大 8 枚の BE タイプの VE カードを搭載したデュアル ソケット 4U 19 インチ ラックマウント型 Xeon スケーラブル サーバー
- A511-64: 64 台の AE 型 VE を搭載した 19 インチ ラック。これは、スーパーコンピュータとして明示的に販売されている唯一の構成です。
VH ノード内では、VE は PCIe を介して相互に通信できます。SX-Aurora で構築された大規模な並列システムでは、相互接続として PeerDirect セットアップの Infiniband を使用します。
NEC は、5 つのプラットフォームに統合された SX-Aurora TSUBASA ベクトル エンジンも販売していました。
- A100-1: タイプ 10C の VE カード 1 枚を搭載したタワー PC。
- A300-2: タイプ 10B または 10C の VE カード最大 2 枚を搭載したシングル ソケット 1U ラックマウント型 Skylake サーバー。
- A300-4: タイプ 10B または 10C の VE カード最大 4 枚を搭載したデュアル ソケット 1U ラックマウント型 Skylake サーバー。
- A300-8: タイプ 10B または 10C の VE カード最大 8 枚を搭載したデュアル ソケット 4U ラックマウント型 Skylake サーバー。
- A500-64: Intel Xeon Silver 4100ファミリーまたはIntel Xeon Gold 6100ファミリーのCPUと、タイプ10Aまたは10BのVEを32個、48個、または64個搭載したラック。[13]
A500 シリーズを除き、すべてのタイプは空冷のみで、水冷も利用しています。
ソフトウェア
オペレーティング·システム
ベクターエンジン(VE)のオペレーティングシステムは「VEOS」と呼ばれ、ホストシステムであるベクターホスト(VH)に完全にオフロードされています。[14] VEOSは、次のカーネルモジュールとユーザー空間デーモンで構成されています。
- VEプロセスとVE上のスケジュールを管理する
- VEプロセスの仮想メモリアドレス空間を管理する
- VE DMAエンジンの助けを借りてVHとVEメモリ間の転送を処理する
- VEプロセスの割り込みと例外、およびシステムコールを処理する。[15]
VEOSはVE上でマルチタスクをサポートしており、ほぼすべてのLinuxシステムコールがVE libcでサポートされています。[15]オペレーティングシステムサービスをVHにオフロードすると、レイテンシの増加と引き換えに、OSジッターがVEから切り離されます。[15]すべてのVEオペレーティングシステム関連パッケージは、 GNU General Public Licenseの下でライセンスされており、 github.com /veos -sxarr-necで公開されています。
ソフトウェア開発
NEC では、開発者および顧客向けにソフトウェア開発キットを提供しています。これには独自の製品が含まれており、NEC から購入する必要があります。SDK には次のものが含まれています。
- 自動ベクトル化、自動並列化、OpenMPをサポートするC、C++、Fortranコンパイラ。[16]
- パフォーマンス最適化ツール:ftraceviewerとveperf。[17]
- VE用に最適化された数値ライブラリ:BLAS、SBLAS、LAPACK、SCALAPACK、ASL、Heterosolver。[18]
NEC MPIも独自の実装であり、MPI-3.1標準仕様に準拠しています。[19]
VEオフロードC-APIを使用することで、VEを特定のホストカーネル関数のアクセラレータとして使用するハイブリッドプログラムを作成できます。[20] VEオフロードはある程度OpenCLやCUDAに匹敵しますが、よりシンプルなAPIを提供し、カーネルを通常のC、C++、またはFortranで開発して、VE上のほぼすべてのシステムコールを使用できるようにします。[要出典] VEOへのPythonバインディングはgithub.com/SX-Aurora/py-veoで入手できます。
数学関数の比較
1 NEC 数値計算ライブラリコレクションは、数値シミュレーションプログラムの開発をサポートする数学ライブラリのコレクションです。
参考文献
- ^ ab 「NEC SX-Aurora TSUBASA - ベクトルエンジン」。www.nec.com 。 2018年3月20日閲覧。
- ^ abcd Morgan、Timothy Prickett (2017 年 10 月 27 日)。「ベクトル スーパーコンピューティングは復活できるか?」The Next Platform。
- ^ 「NEC、ハイエンドHPCの新製品ライン「SX-Aurora TSUBASA」をリリース」NEC . 2018年3月21日閲覧。
- ^ 今井 輝之 (2019)、Gerofi Balazs、石川 豊、Riesen Rolf、Wisniewski Robert W. (編)、「NEC 地球シミュレータと SX-Aurora TSUBASA」、スーパーコンピュータと高性能コンピューティングのためのオペレーティングシステム、高性能コンピューティングシリーズ、第 1 巻、シンガポール: Springer、pp. 139–160、doi :10.1007/978-981-13-6624-6_9、ISBN 978-981-13-6624-6、S2CID 204811906
- ^ Morgan, Timothy Prickett (2017-11-22). 「NEC の Aurora ベクトル エンジンの詳細」。The Next Platform。2020年 7 月 2 日閲覧。
- ^ Focht, Erich. 「SX-Aurora TSUBASA ベクトルエンジンの最初のステップ」sx-aurora.github.io . 2020年7月2日閲覧。
- ^ SX-Aurora TSUBASA パンフレット
- ^ 「NEC ベクトルエンジンモデル」www.nec.com . 2020年9月15日閲覧。
- ^ ab 「SX-Aurora TSUBASA」(PDF)。NEC株式会社。2020年2月。
- ^ abc 「NEC SX-Aurora TSUBASAアーキテクチャ」。www.nec.com 。 2018年3月20日閲覧。
- ^ 「SX-Aurora - マイクロアーキテクチャ - NEC - WikiChip」。en.wikichip.org 。 2020年7月2日閲覧。
- ^ 「NEC SX-Aurora TSUBASA」.
- ^ 「NEC SX-Aurora TSUBASA A500-64」。www.nec.com。
- ^ 「NEC SX Aurora TSUBASA — VSC ドキュメント 1.0 ドキュメント」vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com . 2020年7月2日閲覧。
- ^ abc 「NECの最新ベクトルプロセッサ、SX-Auroraの概要」WikiChip Fuse 2018年12月9日。 2020年8月27日閲覧。
- ^ 「NEC SX Aurora TSUBASA — VSC ドキュメント 1.0 ドキュメント」。vlaams -supercomputing-centrum-vscdocumentation.readthedocs -hosted.com 。 2020年8月27日閲覧。
- ^ 「NEC SX-Aurora TSUBASA ドキュメント」.
- ^ “NEC SX-Aurora TSUBASA ベクトルシステム”. Rechenzentrum der CAU 。2020年8月27日に取得。
- ^ 「NEC MPI ユーザーズガイド」。
- ^ 「SX-Aurora/veoffload」。GitHub 。 2018年3月21日閲覧。
外部リンク
- NEC SX-オーロラTSUBASA
- SX-Aurora Vector Engine に関するニュースと記事。
- NECオーロラフォーラム
- SX-Aurora TSUBASA用VEOS
- SX-Aurora: ツールとプロジェクトのコレクション
