インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
このトピックは、インテル® MIC アーキテクチャーにのみ適用されます。
KNC クラス・ライブラリーには次のものがあります。
整数ベクトルクラス
浮動小数点ベクトルクラス
これらのクラスの定義は、ヘッダーファイル micvec.h に記述されています。
SIMD 演算用のクラス・ライブラリーは、「クラス・ライブラリーを使用するプロセッサーの必要条件」に示す各種プロセッサー用の基本命令を利用するための便利なインターフェイスです。プロセッサー命令のこのような拡張機能によって、SIMD (single instruction-multiple data) 手法を用いた並列処理が可能になります。次の図は、SIMD のデータフローを示しています。
この命令では、命令 1 つで演算が 16 回実行できるため、効率が 16 倍改善されます。
このような新しいプロセッサー命令は、インライン・アセンブリー、組込み関数、または インテル® メニー・インテグレーテッド・コア (インテル® MIC) の SIMD クラスのいずれを使用しても実装できます。この 3 種類のインターフェイスについて、32 ビット浮動小数点値を 16 個加算するのに必要なコーディングを比較してみてください。
次の表は、単精度浮動小数点値を 2 つ加算するコードについて、インライン・アセンブリー、組込み関数、および SIMD クラス・ライブラリーを用いた場合をそれぞれ示したものです。