ベクトライザーはインテル(R) コンパイラーのコンポーネントです。コンパイラーは、インテル(R) MMX(R)、SSE、SSE2、および SSE3 命令セットにある SIMD 命令を自動的に使用します。ベクトライザーは、並列に実行できるプログラム内の演算を検出し、データ型により、2、4、8、または 16 までの要素を並列で処理する 1 つの SIMD 命令のようなシーケンシャル演算を変換します。
このセクションでは、インテル・コンパイラーのベクトル化に関するオプションとガイドラインについて、例を挙げて説明します (ベクトル化は、IA-32 コンパイラーだけがサポートする機能です)。
このセクションでは、次のトピックについて説明します。
ベクトル化の制御およびベクトル化に影響を与えるコンパイラー・オプションについての高度な解説
ベクトル化プログラミングの基本となるガイドライン
ループの並列化とベクトル化
ベクトル化制御用 C++ 言語機能の解説
ベクトル化の各段階についての解説と一般的なガイドライン
自動ベクトル化
ユーザーの介入によるベクトル化
ベクトル化を行うときの問題点とその解決方法の具体例
コンパイラーは、効率的なベクトル命令を生成する多様な宣言子をサポートしています。「ベクトル化のサポート」を参照してください。
インテル・コンパイラーを使用したコードのベクトル化に関する詳細は、『The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance』 A.J.C.Bik 著、Intel Press (2004 年 6 月) (英語) を参照してください。また、その他の資料については、本書の参考文献を参照してください。