COOL Chips 22においてNECの今野良展氏が同社の「SX-Aurora TSUBASA」スパコンについて基調講演を行った。
NECのAurora TSUBASAスパコンは、ある意味、画期的なベクトルスパコンである。制御用のスカラプロセサは普通のx86サーバで、ベクタエンジンはPCIeカードに搭載されている。ベクタスパコンと言えば、すべて専用のハードウェアで大掛かりというこれまでの常識をひっくり返す設計である。
このような作りで、ベクタプロセサあたり1.2TB/sのメモリバンド幅を持ち、ユーザから見える制御プロセサは標準的なx86/Linuxを使っており、多くのユーザになじみ深い環境で使えるベクタスパコンになっている。そして、高性能の実現という点では、NECの自動ベクトル化コンパイラなど、NECの長年の蓄積が使えるようになっている。
なお、次のスライドにはVE-VE Direct Communication Supportとあるが、具体的な説明が無く、どのようなものか分からなかった。
この構造は、x86 CPUにGPUをつけたスパコンと似ているが、大きな違いがある。GPUを使う場合は、ホスト側で走るアプリケーションプログラムから、GPUで走る比較的小さな関数ごとに呼び出しが必要であり、このCPUとGPUの間のやり取りが無視できないオーバヘッドになる。
しかし、Aurora TSUBASAでは、基本的にx86からベクタエンジン側のアプリケーションの呼び出しは1回である。ただし、ベクタエンジンではI/Oができないため、ベクタエンジンからCPUを呼び出してシステムコールを処理するという構造になっており、その部分ではCPUとベクタエンジンのやり取りが発生する。しかし、GPUの場合と比べるとベクタエンジンの方がやり取りの回数は少ない。
なお、初期のGPUはGPU上で走るカーネルから別のカーネルを呼び出すことはできなかったが、現在は、NVIDIAのダイナミックパラレリズム機能などがサポートされ、GPUで実行している関数からGPUで実行される別の関数を呼び出すことが可能になってきており、CPU、GPUの切り替えのオーバヘッドは減少してきている。
ベクタエンジンを搭載したPCIeカードには、左の図のような空冷のものと、右の図のような水冷のものがある。空冷フィンはVapor Chamberを使って内部にヒートパイプが入ったような構造になっており、熱伝導率を改善し240Wを超える発熱を冷却できるようになっている。一方、水冷のコールドヘッドの方は約40℃の水で冷却し、300Wを超える発熱を冷却できる。
(次回は5月14日に掲載します)