自動ベクトル化について

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

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

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

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

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

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