
NEC SX-Aurora TSUBASAは、 NEC SXアーキテクチャ・ファミリのベクトル・プロセッサです。[ 1 ] [ 2 ]従来のSXスーパーコンピュータとは異なり、SX-Aurora TSUBASAはPCIeカードとして提供され、NECでは「ベクトル・エンジン」(VE)と呼んでいます。[ 2 ] 8枚のVEカードをベクトル・ホスト(VH)に挿入できます。VHは通常、Linuxオペレーティングシステムを実行するx86-64サーバーです。 [ 2 ]この製品は2017年10月25日のプレスリリースで発表され、NECは2018年2月に販売を開始しました。[ 3 ]この製品はSX-ACEの後継です。
ハードウェア
SX-Aurora TSUBASAは、地球シミュレータ・スーパーコンピュータのベースとなっているベクトル型コンピュータシステムであるNEC SXシリーズおよびSUPER-UXの後継機です。ハードウェアは、 PCI Express(PCIe)インターコネクトを介して接続されたベクトルエンジン(VE)を搭載したx86 Linuxホストで構成されています。 [ 4 ]
高いメモリ帯域幅(0.75~1.2 TB/s)は、PCIeカードのフォームファクタに実装されたシリコンインターポーザ上の8つのコアと6つのHBM2メモリモジュールから得られます。 [ 5 ] VEのオペレーティングシステム機能はVHにオフロードされ、主にVEOSを実行するユーザー空間デーモンによって処理されます。[ 6 ]
クロック周波数(1.4GHzまたは1.6GHz)に応じて、各VE CPUは8コアを搭載し、倍精度演算で2.15TFLOPSまたは2.45TFLOPSのピーク性能を発揮します 。このプロセッサは、シリコンインターポーザー上に6つのHBM2モジュールを実装した世界初の製品で、合計24GBまたは48GBの高帯域幅メモリを搭載しています。このプロセッサは、x86_64サーバーであるVector Host(VH)によってホストされる標準的なフルレングス、フルハイト、ダブル幅のPCIeカードのフォームファクタに統合されています。このサーバーは最大8つのVEをホストでき、VHは任意のノード数に拡張可能です。[ 1 ] [ 7 ] [ 2 ]
製品リリース
バージョン2 ベクトルエンジン[ 8 ]
| SKU | 20A | 20B |
|---|---|---|
| クロック速度(GHz) | 1.6 | 1.6 |
| コア数 | 10 | 8 |
| コアピーク性能 (倍精度GFLOPS) | 307 | 307 |
| コアピーク性能 (単精度GFLOPS) | 614 | 614 |
| CPUピーク性能 (倍精度TFLOPS) | 3.07 | 2.45 |
| CPUピーク性能 (単精度TFLOPS) | 6.14 | 4.91 |
| メモリ帯域幅(TB/秒) | 1.53 | 1.53 |
| メモリ容量(GB) | 48 | 48 |
バージョン 1 ベクトルエンジン
ベクトルエンジンのバージョン1.0は16nm FinFETプロセス(TSMC製)で製造され、3つのSKUでリリースされました(後続のバージョンでは末尾にEが追加されます)。[ 9 ]
| SKU | 10A | 10B | 10C | 10AE | 10BE | 10CE |
|---|---|---|---|---|---|---|
| クロック速度(GHz) | 1.6 | 1.4 | 1.4 | 1.584 | 1.408 | 1.400 |
| コア数 | 8 | 8 | 8 | 8 | 8 | 8 |
| コアピーク性能 (倍精度GFLOPS) | 307.2 | 268.8 | 268.8 | 304 | 270 | 268 |
| コアピーク性能 (単精度GFLOPS) | 537 | 608 | 540 | 537 | ||
| CPUピーク性能 (倍精度TFLOPS) | 2.45 | 2.15 | 2.15 | 2.43 | 2.16 | 2.15 |
| CPUピーク性能 (単精度TFLOPS) | 4.9 | 4.3 | 4.3 | 4.86 | 4.32 | 4.30 |
| メモリ帯域幅(TB/秒) | 1.2 | 1.2 | 0.75 | 1.35 | 1.35 | 1.00 |
| メモリ容量(GB) | 48 | 48 | 24 | 48 | 48 | 24 |
機能ユニット
8つのSX-Auroraコアはそれぞれ64個の論理ベクトルレジスタを持っています。[ 10 ]これらは256 x 64ビット長で、パイプラインと32倍並列SIMDユニットの組み合わせとして実装されています。レジスタは、並列実行可能な3つのFMA浮動小数点乗算および加算ユニット、固定小数点演算を処理する2つのALU算術論理ユニット、および除算と平方根のパイプに接続されています。[ 10 ] FMAユニットと32倍SIMD並列性のみを考慮すると、ベクトルコアは1サイクルあたり192回の倍精度演算が可能です。[ 10 ] 2つの単精度値がベクトルレジスタの1つの倍精度スロットのスペースにロードされる「パック」ベクトル演算では、ベクトルユニットは倍精度と比較して1クロックサイクルあたり2倍の演算を実行します。
スカラー プロセッシング ユニット (SPU) は、各コア上の非ベクトル命令を処理します。
メモリとキャッシュ
SX-Aurora TSUBASAプロセッサのメモリは、チップ・オン・ウェーハ・オン・サブストレート技術を用いてCPUと同じパッケージに実装された6つの第2世代HBM2高帯域幅メモリモジュールで構成されています。プロセッサモデルに応じて、HBM2モジュールは4または8ダイの3Dモジュールで、それぞれ4GBまたは8GBの容量を備えています。したがって、SX-Aurora CPUは24GBまたは48GBのHBM2メモリを搭載しています。大容量HBM2モジュールを実装したモデルは、1.2TB/sのメモリ帯域幅を備えています。[ 11 ]
ベクトルエンジンの各コアは、16MBの「ラストレベルキャッシュ」(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 は、SX-Aurora TSUBASA ベクトル エンジンを 5 つのプラットフォームに統合して販売していました。
- A100-1: タイプ 10C の VE カード 1 枚を搭載したタワー PC。
- A300-2: タイプ 10B または 10C の VE カード最大 2 枚を搭載したシングル ソケット 1U ラックマウント型 Skylake サーバー。
- A300-4: タイプ 10B または 10C の VE カード最大 4 枚を搭載したデュアル ソケット 1U ラックマウント型 Skylake サーバー。
- A300-8: 最大 8 枚のタイプ 10B または 10C の VE カードを搭載したデュアル ソケット 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
ソフトウェア開発
NECは、開発者およびお客様向けにソフトウェア開発キットを提供しています。SDKには独自の製品が含まれており、NECからご購入いただく必要があります。SDKには以下のものが含まれています
- 自動ベクトル化、自動並列化、OpenMPをサポートするC、C++、Fortranコンパイラ。[ 16 ]
- パフォーマンス最適化ツール:ftraceviewerとveperf。[ 17 ]
- VEに最適化された数値ライブラリ:BLAS、SBLAS、LAPACK、SCALAPACK、ASL、ヘテロソルバー。[ 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で入手でき
数学関数の比較
| NLC 1 | MKL | CUDA | ||
|---|---|---|---|---|
| 線形代数 | 密行列 | ✓ | ✓ | ✓ |
| 疎行列 | ✓ | ✓ | ✓ | |
| 関数変換 | フーリエ変換 | ✓ | ✓ | ✓ |
| 実数対実数変換(DCT、…) | ✓ | ✓ | ||
| ラプラス変換、ウェーブレット変換、… | ✓ | |||
| 統計 | 乱数ジェネレータ | ✓ | ✓ MPIなし | ✓ MPIなし |
| 多変量解析、回帰… | ✓ | |||
| その他 | ソート | ✓ | ||
| 特殊関数 | ✓ | |||
| 積分、微分、… | ✓ | |||
| ステンシルコード | ✓ | |||
| ディープラーニング | ✗(予定) | ✓ | ✓ |
1 NEC 数値計算ライブラリコレクションは、数値シミュレーションプログラムの開発をサポートする数学ライブラリのコレクションです。
参考文献
- ^ a b「NEC SX-Aurora TSUBASA - ベクトルエンジン」 www.nec.com 2018年3月20日閲覧
- ^ a b c d Morgan, Timothy Prickett (2017年10月27日). 「ベクトル型スーパーコンピューティングは復活できるか?」 The Next Platform .
- ^ 「NEC、ハイエンドHPC新製品ライン「SX-Aurora TSUBASA」をリリース」 NEC . 2018年3月21日閲覧。
- ^今井輝之(2019)、ゲロフィ・バラズ、石川裕、リーゼン・ロルフ、ウィスニエフスキー・ロバート・W(編)、NEC地球シミュレータとSX-Aurora TSUBASA、スーパーコンピュータと高性能コンピューティングのためのオペレーティングシステム、高性能コンピューティングシリーズ、第1巻、シンガポール:シュプリンガー、pp. 139– 160、doi:10.1007/978-981-13-6624-6_9、ISBN 978-981-13-6624-6、S2CID 204811906
{{citation}}: CS1 maint: ISBNによる作業パラメータ(リンク) - ^ 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日閲覧。
- ^ a b「SX-Aurora TSUBASA」(PDF) . NEC株式会社. 2020年2月.
- ^ a b c「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日閲覧。
- ^ a b c「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日閲覧。