自動ベクトル化について

インテル® コンパイラーでは、ベクトル化はパックド SIMD 命令を生成してループをアンロールします。パックド命令は一度に複数のデータ要素で演算するため、ループをより効率良く実行できます。コンパイラーが適したループを自動で識別し、最適化するため、自動ベクトル化と呼ばれることもあります。

インテル® Advisor は、ベクトル化を支援し、ソースコードとともに最適化レポートメッセージを表示します。詳細は、https://software.intel.com/en-us/intel-advisor-xe (英語) を参照してください。

ベクトル化により呼び出されるライブラリー・ルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーにおいてより優れたパフォーマンスが得られる可能性があります。また、ベクトル化は、mx などの特定のオプションによる影響を受けます。

インテル製マイクロプロセッサーおよび互換マイクロプロセッサーの両方で、ベクトル化はインテル® コンパイラーの最適化レベル O2 (デフォルト) 以上で有効になります。多くのループは自動でベクトル化されますが、自動でベクトル化されないループについては、簡単なコード変更でベクトル化できることがあります。このチュートリアルで行う作業は次のとおりです。

このチュートリアルには Linux* 版、macOS* 版、Windows* 版があります。

Linux* 版および macOS* 版のチュートリアルを開始する

Windows* 版のチュートリアルを開始する