インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

qopt-zmm-usage、Qopt-zmm-usage

zmm レジスターの使用レベルを定義します。

構文

Linux* および macOS*:

-qopt-zmm-usage=keyword

Windows*:

/Qopt-zmm-usage:keyword

引数

keyword

zmm レジスターの使用レベルを定義します。設定可能な値は以下のとおりです。

low

コンパイルしたプログラムは zmm レジスターを利用しても利点が得られない可能性が高いことをコンパイラーに知らせます。利用により利点が得られることが証明できない限り、zmm レジスターを使用しないようにコンパイラーに指示します。

high

制限なく zmm コードを生成するようにコンパイラーに指示します。

デフォルト

それぞれ異なる

[Q]xCORE-AVX512 を指定すると、low がデフォルトになります。

[Q]xCOMMON-AVX512 を指定すると、high がデフォルトになります。

説明

このオプションは、インテル® マイクロアーキテクチャー Skylake (開発コード名) ベースのインテル® プロセッサー向けのコードの最適化を向上する可能性があります。

このオプションは、zmm レジスターの使用レベルを定義します。low 設定では、コンパイラーは、利用により利点が得られることが証明できる場合のみ zmm レジスターを使用するコードを生成します。high 設定では、コンパイラーは、zmm コードの生成に制限が少ないヒューリスティックを使用します。

highlow のどちらの設定のほうが優れたパフォーマンスを達成できるか予測することは簡単ではありません。xmm レジスターや ymm レジスターの利用によりハイパフォーマンスが得られるプログラムは、zmm レジスターを利用することでパフォーマンスを向上できる可能性があります。しかし、一部のプログラムでは、zmm レジスターを利用してもパフォーマンスがあまり向上しなかったり、低下することがあります。両方の設定でプログラムのパフォーマンスを評価することを推奨します。

[Q]xCORE-AVX512[Q]xCOMMON-AVX512 などのインテル® AVX-512 を有効にするオプションを指定しなかった場合、または [Q]xMIC-AVX512 などのインテル® MIC アーキテクチャーをターゲットとするオプションを指定した場合、このオプションは無視されます。

このオプションは、omp simd simdlen(n) プラグマまたは CORE-AVX512 固有の vector 属性で生成された関数を使用するループには効果がありません。

IDE オプション

なし

代替オプション

なし

関連情報