fast-transcendentals、Qfast-transcendentals

超越関数への呼び出しを、より高速で精度が少し低いものに置換します。この機能は ifort でのみ利用できます。

構文

Linux*:

-fast-transcendentals

-no-fast-transcendentals

macOS*:

-fast-transcendentals

-no-fast-transcendentals

Windows*:

/Qfast-transcendentals

/Qfast-transcendentals-

引数

なし

デフォルト

-fp-model (Linux* および macOS*) または /fp (Windows*) の設定により異なります。

-[no-]fast-transcendentals または /Qfast-transcendentals[-] オプションを指定しない場合:

  • -fp-model fast または /fp:fast が指定されている場合や有効な場合、デフォルトはオンです。

  • -fp-model または /fp に安全な設定 ("precise"、"source" など) が指定されている場合、デフォルトはオフです。

説明

このオプションは、超越関数への呼び出しを、より高速で精度が少し低いものに置換します。

超越関数における特定の最適化を行うようにコンパイラーに指示します。例えば、ループの正弦への各呼び出しを、精度が少し低いベクトル化した正弦ライブラリー・ルーチンの呼び出しに置換します。これらの最適化は、-fp-model precise (Linux* および macOS*) または /fp:precise (Windows*) などの精度に影響しないオプションでコンパイルした場合には存在しない、数値の相違を引き起こすことがあります。

例えば、O0 オプションと O2 オプションを指定する場合では結果が異なる可能性があります。また、プログラムの異なる位置で同じ入力を使用して同じ関数を呼び出す場合も結果が異なる可能性があります。このような数値の相違が問題になる場合は、代替手段として -fimf-use-svml (Linux* および macOS*) または /Qimf-use-svml (Windows*) オプションの使用を検討してください。-fp-model precise/fp:precise のような精度に影響しないオプションと一緒に使用すると、-fimf-use-svml または /Qimf-use-svml は、数値の一貫性に影響することなく [Q]fast-transcendentals のパフォーマンスの利点の多くをもたらします。詳細は、-fimf-use-svml および /Qimf-use-svml オプションの説明を参照してください。

このオプションは、明示的な SVML (Short Vector Math Library) 組込み関数には影響しません。標準数学ライブラリー・ルーチンのスカラー呼び出しにのみ影響があります。

-fast-transcendentals オプションは -fp-model strict とともに使用することはできません。また、/Qfast-transcendentals オプションを /fp:strict オプションととともに使用することはできません。

次のいずれも指定されない場合、このオプションは、数学ライブラリー関数の結果における相対誤差の最大限許容値を定義します (max-error)。

このオプションは、インテル® プロセッサーにのみ適用される追加の最適化を有効にします。

IDE オプション

なし

代替オプション

なし

製品および性能に関する情報

性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。

注意事項の改訂 #20201201

関連情報