インテルは2012年11月13日、x86ベースでプログラミングを容易としたスーパーコンピューター「Xeon Phiコプロセッサー」(写真)を発表した。Xeon搭載サーバー機のPCI Expressバスに挿して使う。実体はLinuxが動作するメニーコア(60コア)のx86マシン(処理性能は1枚当たり1.011TFLOPS)で、ホストとなるXeonサーバーから見て、独立した並列計算ノードとして機能する。
Xeon Phiコプロセッサーは、PCIカードの形状をしたx86アーキテクチャの並列処理コンピューティングノードである。PCIカードを装着するXeonサーバーとセットで利用する。アプリケーションプログラムは、個々のノード(Xeon Phi)の上だけで動作させることもできるほか、ホストであるXeon上で動作させつつ、高負荷な処理だけをノード(Xeon Phi)にオフロードする使い方も可能である。
市場への投入はまず、2013年1月28日に、サーバーベンダー各社が、第一弾である「Xeon Phiコプロセッサー5110P」を搭載したコンピュータを提供する。Xeon Phi 5110Pの価格は、1000個購入した場合に1個当たり2650ドル(米国の場合)である。第二弾として、メモリーバンド幅とメモリー容量を簡素化した「Xeon Phiコプロセッサー3100製品ファミリー」を、2013年上半期に出荷する。こちらの価格は2000ドル以下(米国)になる。
GPGPUよりもプログラミングが容易
Xeon Phiの最大の特徴は、「GPGPUと比べてプログラミングが容易」(インテル)なこと。コンパイルして実行させるだけであれば(並列処理の性能をチューニングしない場合)、x86向けの既存のソースコードに大きな変更を加える必要はない。具体的には、ソースに並列処理の宣言文を入れて、コンパイルオプションを付ければ、Xeon Phi上で動作するプログラムを生成できる。処理をオフロードする場合も、ソースコード内でオフロード対象部分を宣言するだけでよい。
一方、すでにスーパーコンピューターのメインストリームの一つとなっているGPGPUの場合は、x86(CPU)向けに書かれたソースコードの中から並列処理部分を抽出し、これをGPU向けに開発し直す工程が必要になる。ところが、(米NVIDIAのCUDAに代表される)GPUプログラミングは「x86プログラマーに負担を強いており、大変に手間がかかる」(インテル)という。
メモリーのバンド幅と容量の違いで2種類を用意
Xeon Phi(2製品)の主な仕様は、以下の通り。
x86コア(1.053GHz動作)を60個(1コア当たり4スレッドで合成240スレッド)搭載。これにより、倍精度演算性能(ピーク時)は、1.011GFLOPS。独立したコンピュータノード(TCP/IPホスト)として動作し、OSはLinuxが稼働。ホストとなるXeonサーバーのPCI Express(x16)バスに装着(単数または複数枚)して使う。ホスト側のOSはRed Hat Enterprise Linux 6またはSUSE Linux 12+。
上位版のXeon Phiコプロセッサー5110Pと、廉価版のXeon Phiコプロセッサー3100製品ファミリーは、メモリーバンド幅とメモリー容量が異なる。上位版の5110Pは、帯域幅320Gバイト/秒のGDDR5メモリーを8Gバイト搭載する。冷却ファンを搭載せず、熱出力設計は225W。一方、3100製品ファミリーは、帯域幅240Gバイト/秒のGDDR5メモリーを6Gバイト搭載する。冷却ファン搭載型と非搭載型があり、熱出力設計は300W。