Xeon Phi¶
Intelの並列演算コプロセッサ製品シリーズXeon Phiについての情報収集メモ・ページです。
Xeon Phi製品概要¶
Xeon PhiはIntelが開発するMIC(Many Integrated Core)アーキテクチャの高速演算コプロセッサで、x86系CPUのコアを多数搭載(初期モデルで60コア)し、並列処理によって高速演算を実現します。多数の演算装置による並列処理で高速演算を実現する方式はGPGPUと類似していますが、主な違いはOSを搭載しIPアドレスを持ち、分散ノードとして振舞える点、各コアは汎用プロセッサとして動作可能である点です。
スーパーコンピュータのTop 500 Listで2013年6月の1位になった天河二号は、このXeon Phiを採用しています。
2013年前半の製品構成¶
3系統の製品が登場しました。7100系、5100系、3100系の3つで、性能・価格的には松竹梅と思ってよいでしょう。
いずれも1TFlopsの性能を有しています。
Xeon Phi製品詳細¶
コア¶
Xeon Phiのコアは、PentiumⅢベースのアーキテクチャに512bitベクトル演算ユニットなど数値演算処理機能を追加したもので、1コアで4ハードウェア・スレッド実行が可能です。スレッド単位でレジスタセットを持ちます。
このコアは2IPC(クロックあたり2命令同時実行)の能力を持ちますが、ただし、同一スレッドで連続するクロックでの命令実行はできないといった制約があります。
キャッシュは、L1命令:32KB、L1データ:32KB、L2:512KBです。
メモリはGDDR5であり、バンド幅がは大きい。
OS¶
Xeon PhiはLinuxベースのOSを搭載しているので、Phi上でプロセスを動かすこともできます。
バス¶
GPGPU(NVIDIAのTeslaなど)と同様PCI expressバスで接続する形態ですが、Phi上にOSを搭載し、IPアドレスを持ってホストおよび他のノードから通信可能です。
ホストコンピュータ(Xeon Phiを拡張スロットに装着した計算機)のOSは今のところLinux(公式サポートはRHELまたはSUSE)に限定されています。
一つのホストコンピュータに、複数のXeon Phiを搭載することができます(デモで2つのXeon Phiを搭載していた)。
ファイルシステム¶
Xeon Phiはメモリしか持たないため、ファイルシステムはメモリを使って構築されます。
大きなファイルを扱うときは、ホスト側のストレージを使ってNFS等で利用するとよいでしょう。
プログラミングモデル¶
プログラミングモデル
- オフロード実行
特定のループ処理をOpenMPなどの並列処理化コードで記述し、さらにオフロード実行を指定するプラグマ制御を記述することで、その部分だけXeon Phi上で実行します。 - ネイティブ実行
プログラム自体をXeon Phi上で実行します。プログラムはNFSで共有したりscp等で転送して実行します。
Xeon Phi上で実行するバイナリは、インテル・コンパイラで生成します。
オフロード実行¶
offloadプラグマを指定しデータやコードをホスト側からXeon Phi側へ転送し、プログラムを実行します。
プログラムは、C/C++/Fortran言語で記述し、並列処理にはPスレッド、MKL、OpenMP、TBB、インテルCilk Plus、MPIなどの標準的なライブラリで記述します。
PI計算サンプルソースコード 表示
ネイティブ実行¶
クロスコンパイルオプション(-mmic)を指定してコンパイルしたバイナリを、scp等でXeon Phiコプロセッサに転送して実行します。並列処理ライブラリはオフロード実行と同様各種ライブラリが使用できます。基本ホストで実行可能なプログラムのソースコードはそのままクロスコンパイルしてXeon Phiで実行可能なバイナリとなります。
なお、Xeon Phiのコアは単一ではホストに搭載するコアに比べると遅いので、性能を出すには高度に並列化されたプログラムを記述する必要があります。
Xeon PhiはIPアドレスを持ち、ホスト以外の計算ノードからも通信可能であることから、MPI等によるクラスタ構成が可能です。
他の並列処理技術との違い¶
GPGPUと比べて¶
- メリット
- OpenMP拡張など従来CPUによる並列処理と同じコードを使うことができる
- デバッガ、プロファイラ(Intel VTune)が揃っている
- 性能
- 2013年前半の製品とNVIDIAのTesla K20とを比べると、おおよそ次のとおり。
- 単精度演算: Tesla > Xeon Phi
- 倍精度演算: Tesla >= Xeon Phi
- 2013年前半の製品とNVIDIAのTesla K20とを比べると、おおよそ次のとおり。
情報源¶
インテル製品等¶
- iSUS
インテル系プロセッサのソフトウェア開発情報を発信するサイト。インテルの発信する情報を翻訳掲載している。並列処理関係の情報が多い。
ベンチマーク結果¶
- インテル Xeon Phi 5110PとNVIDIA Tesla K20の行列積における実効性能比較
CUDA4.2では単精度はTesla、倍精度はXeon Phiだったが、CUDA5.0ではどちらもTeslaが勝者となった。