SIMD ループをベクトル化する場合、浮動小数点リダクションをシリアル化するようにコンパイラーに指示します。この機能は ifort でのみ利用できます。
Linux*: | -qsimd-serialize-fp-reduction -qno-simd-serialize-fp-reduction |
macOS*: | -qsimd-serialize-fp-reduction -qno-simd-serialize-fp-reduction |
Windows*: | /Qsimd-serialize-fp-reduction /Qsimd-serialize-fp-reduction- |
なし
-qno-simd-serialize-fp-reduction または /Qsimd-serialize-fp-reduction- |
コンパイラーは、SIMD ループで浮動小数点リダクションのシリアル化を試みません。 |
OpenMP* SIMD リダクション仕様と -fp-model (Linux* および macOS*) または /fp (Windows*) オプションの設定は、要件が矛盾する場合があります。矛盾が生じた場合、コンパイラーのデフォルトの動作は OpenMP* 仕様に従うため、浮動小数点リダクションを含むループをベクトル化します。
このオプションは、このデフォルトの動作を無効にして、コンパイラーが -fp-model (または /fp) の仕様に従うようにします。コンパイラーは、ループの浮動小数点リダクションをシリアル化し、残りをベクトル化します。
[q または Q]simd-honor-fp-model が指定され、OpenMP* SIMD リダクションがループ全体のシリアル化の唯一の要因である場合、[q または Q]simd-serialize-fp-reduction オプションを追加すると、シリアル化されるリダクション計算を除き、ループ全体がベクトル化されます。
このオプションは、ループの自動ベクトル化には影響しません。デフォルトでは、コンパイラーは -fp-model (Linux* および macOS*) または /fp (Windows*) 設定を使用します。
なし