インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド

自動ベクトル化の概要

自動ベクトライザーはインテル® コンパイラーのコンポーネントです。コンパイラーは、インテル® ストリーミング SIMD 拡張命令 (インテル® SSE、SSE2、SSE3 および SSE4)、インテル® ストリーミング SIMD 拡張命令 3 補足命令 (インテル® SSSE3)、インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX、インテル® AVX2) 命令を自動的に使用します。ベクトライザーは、並列に実行できるプログラム内の演算を検出し、並列化します。例えば、データ型によって、2、4、8、または最大 16 までの要素を処理するシーケンシャルな SIMD 命令を 1 つの並列操作に変換します。

コンパイラーは、効率的なベクトル命令を生成する多様な自動ベクトル化ヒントをサポートしています。自動ベクトル化は、IA-32 アーキテクチャーとインテル® 64 アーキテクチャーでサポートされています。

インテル® コンパイラーを使用したコードのベクトル化に関する詳細は、Intel Press 刊 (2004 年 6 月) A.J.C. Bik 著の『The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance』 (英語) を参照してください。 また、その他の資料については、本書の「参考文献」を参照してください。

このオプションを使用すると、インテル製マイクロプロセッサーおよび互換マイクロプロセッサーの両方で、デフォルトの最適化レベルのベクトル化が有効になります。ベクトル化により呼び出されるライブラリー・ルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーにおいてより優れたパフォーマンスが得られる可能性があります。また、ベクトル化は、/arch (Windows*)、-m (Linux* および OS X*)、[Q]x などの特定のオプションによる影響を受けます。


このヘルプトピックについてのフィードバックを送信