インテル® マス・カーネル・ライブラリー 11.2 ユーザーズガイド
アプリケーションがインテル® 64 アーキテクチャーをターゲットにしており、Cray* 形式の名前および ILP64 インターフェイスを使用する場合、コードに最小限の変更を加えるだけで、SP2DP インターフェイスでアプリケーションからインテル® MKL BLAS および LAPACK 関数を呼び出すことができます。
SP2DP インターフェイスは、アプリケーションの (実数型と複素数型の) 単精度名をインテル® MKL BLAS および LAPACK の倍精度名にマップします。例えば、BLAS 関数 ?GEMM の場合、関数名は以下のようにマップされます。
SGEMM -> DGEMM
DGEMM -> DGEMM
CGEMM -> ZGEMM
ZGEMM -> ZGEMM
倍精度名は変更されません。
SP2DP インターフェイスは、インターフェイス・レイヤーに実装されます。SP2DP インターフェイスを使用するには、アプリケーションと次のインターフェイス・ライブラリーをリンクします。
libmkl_intel_sp2dp.a (スタティック・リンク)
libmkl_intel_sp2dp.so (ダイナミック・リンク)
例えば、SP2DP インターフェイスを使用して Fortran アプリケーションとインテル® MKL のスレッド化バージョンをスタティックにリンクするには、次のように指定します。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-Wl,--start-group $MKLPATH/libmkl_intel_sp2dp.a $MKLPATH/libmkl_intel_thread.a
$MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm