qsimd-serialize-fp-reduction、Qsimd-serialize-fp-reduction

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*) 設定を使用します。

IDE オプション

なし

代替オプション

なし

関連情報