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

数学ライブラリー

インテル® Fortran コンパイラーには、次の数学ライブラリーが含まれています。

ライブラリー名

説明

libimf.a (Linux* および macOS*)

インテルの数学ライブラリー。gcc により提供されている数学ライブラリーlibm.a への追加ライブラリーです。

両方のライブラリーともデフォルトでリンクされます。これは、GNU* 数学ライブラリーによりサポートされるいくつかの数学関数が、インテルの数学ライブラリーでは利用できないためです。このリンク処理により GNU* ユーザーは ifort の使用時にすべての関数を利用できるようになり、サポートされている場合にはインテルの最適化バージョンが有効になります。

libimf.a は、libm.a の前にリンクされます。最初に libm.a をリンクすると、使用される数学関数のバージョンが変更されます。

libimf ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより最適化されます。

libm.lib (スタティック・ライブラリー) と libmmd.dll (DLL バージョン) (Windows*)

インテル提供の数学ライブラリー。

libimf ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより最適化されます。

数学ライブラリー関数の超越関数を呼び出し、デフォルトの最適化オプション以上でコンパイルする場合は、デフォルトの丸めモード (最も近い偶数に丸める) を使用することを推奨します。これらの関数のレイテンシーやスループットが高速な実装では、デフォルトの最も近い偶数に丸めるモードで処理されます。ほかの丸めモードを使用すると、高速な実装で生成される結果は精度が落ちるか、予期しない浮動小数点ステータスフラグが設定されます。これは、数学ライブラリーの高速な実装への呼び出しを無効にする -no-fast-transcendentals か、あるいは浮動小数点環境でデフォルトの設定を仮定できないことをコンパイラーに知らせる-fp-model strict により回避できます。

インテルの数学ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより最適化されます。

インテル® マス・カーネル・ライブラリー (インテル® MKL)

ベクトルと行列でさまざまな演算を行う Fortran ルーチンと関数の数学ライブラリー。ライブラリーには、高速フーリエ変換 (fft) 関数やベクトル演算関数およびベクトル統計関数が含まれています。詳細は、「Microsoft* Visual Studio* でのインテル® パフォーマンス・ライブラリーの使用」とインテル® MKL ドキュメントを参照してください。

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804