以下に、インテル® コンパイラーを使用してリンクする例を示します。
多くの例では、.f Fortran ソースファイルを使用しています。C/C++ ユーザーは、ソースファイルを .cpp (C++) または .c (C) ファイルに、ifx を icx に置き換えてください。
例:
MKLPATH=$MKLROOT/lib/intel64_lin、
MKLINCLUDE=$MKLROOT/include。
環境変数を設定するスクリプト/環境変数の設定の実行が完了している場合、すべての例の -I$MKLINCLUDE および動的リンクの -L$MKLPATH は省略できます。
myprog.f と LP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の OpenMP* スレッドバージョンの静的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_intel_thread.a
$MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm
myprog.f と LP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の OpenMP* スレッドバージョンの動的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
-liomp5 -lpthread -lm
myprog.f と LP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) のシーケンシャル・バージョンの静的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_sequential.a
$MKLPATH/libmkl_core.a -Wl,--end-group -lpthread -lm
myprog.f と LP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) のシーケンシャル・バージョンの動的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm
myprog.f と ILP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の OpenMP* スレッドバージョンの静的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a
$MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm
myprog.f と ILP64 インターフェイスをサポートしているインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の OpenMP* スレッドバージョンの動的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm
ユーザーコード myprog.f と OpenMP* スレッドまたはシーケンシャルなインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の動的リンク (適切な関数を呼び出すか、環境変数を設定して、スレッドモードまたはシーケンシャルモードを選択し、インターフェイスを設定):
ifx myprog.f -lmkl_rt
myprog.f、Fortran BLAS および 95 LAPACK インターフェイス、および LP64 インターフェイスをサポートする OpenMP* でスレッド化されたインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の静的リンク:
ifx myprog.f -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/intel64/lp64
-lmkl_lapack95_lp64 -Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_intel_thread.a
$MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm
TBBROOT 環境変数が定義されている場合、myprog.c とインテル® スレッディング・ビルディング・ブロック (インテル® oneTBB) でスレッド化されたインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の静的リンク:
icx myprog.c -I$MKLINCLUDE -Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_tbb_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -L$TBBROOT/lib/intel64/gcc.4.8 -ltbb -lstdc++ -lpthread -lm
LD_LIBRARY_PATH 環境変数にインテル® TBB ライブラリーへのパスが含まれている場合の myprog.c とインテル® TBB によりスレッド化されたインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) バージョンの動的リンク:
icx myprog.c -I$MKLINCLUDE -L$MKLPATH -lmkl_intel_lp64 -lmkl_tbb_thread -lmkl_core -lstdc++ -lpthread -lm