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