インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
zmm レジスターの使用レベルを定義します。
Linux* および macOS*: | -qopt-zmm-usage=keyword |
Windows*: | /Qopt-zmm-usage:keyword |
keyword |
zmm レジスターの使用レベルを定義します。設定可能な値は以下のとおりです。
|
それぞれ異なる |
[Q]xCORE-AVX512 を指定すると、low がデフォルトになります。 [Q]xCOMMON-AVX512 を指定すると、high がデフォルトになります。 |
このオプションは、インテル® マイクロアーキテクチャー Skylake (開発コード名) ベースのインテル® プロセッサー向けのコードの最適化を向上する可能性があります。
このオプションは、zmm レジスターの使用レベルを定義します。low 設定では、コンパイラーは、利用により利点が得られることが証明できる場合のみ zmm レジスターを使用するコードを生成します。high 設定では、コンパイラーは、zmm コードの生成に制限が少ないヒューリスティックを使用します。
high と low のどちらの設定のほうが優れたパフォーマンスを達成できるか予測することは簡単ではありません。xmm レジスターや ymm レジスターの利用によりハイパフォーマンスが得られるプログラムは、zmm レジスターを利用することでパフォーマンスを向上できる可能性があります。しかし、一部のプログラムでは、zmm レジスターを利用してもパフォーマンスがあまり向上しなかったり、低下することがあります。両方の設定でプログラムのパフォーマンスを評価することを推奨します。
[Q]xCORE-AVX512 や [Q]xCOMMON-AVX512 などのインテル® AVX-512 を有効にするオプションを指定しなかった場合、または [Q]xMIC-AVX512 などのインテル® MIC アーキテクチャーをターゲットとするオプションを指定した場合、このオプションは無視されます。
このオプションは、omp simd simdlen(n) プラグマまたは CORE-AVX512 固有の vector 属性で生成された関数を使用するループには効果がありません。
なし
SIMD ループとベクトル関数に関する詳細は、OpenMP* Technical Report 4: Version 5.0 仕様の omp simd プラグマと omp declare simd プラグマを参照してください。