このセクションでは、IA-32、インテル® 64、および IA-64 アーキテクチャー・ベースのシステムで
インテル® コンパイラーを使用してリンクする場合の例を紹介します。これらの例では、<MKL パ
ス> および <MKL インクルード> プレースホルダーは、ユーザーが定義した環境変数
$MKLPATH および $MKLINCLUDE に置換されています。第 9 章の ScaLAPACK およびクラスター FFT とのリンクの例も参照してください。
以下の例では、.f Fortran ソースファイルを使用しています。C/C++ ユーザーは、ソースファイル を .cpp (C++) または .c (C) に、ifort リンカーを icc に変更してください。
正しいリンク行を設定するために、Web ベースのリンク・アドバイザーが用意されています。
http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor (英語) にアクセスしてください。
IA-32 アーキテクチャー・ベースのシステムでのリンク
1. myprog.f とインテル® MKL の並列バージョンのスタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -Wl,--start-group $MKLPATH/libmkl_intel.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
2. myprog.f とインテル® MKL の並列バージョンのダイナミック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel -lmkl_intel_thread -lmkl_core -liomp5 -lpthread 3. myprog.f とインテル® MKL の逐次バージョンのスタティック・リンク。
5
インテル® マス・カーネル・ライブラリー・ユーザーズガイド ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -Wl,--start-group $MKLPATH/libmkl_intel.a$MKLPATH/libmkl_sequential.a $MKLPATH/libmkl_core.a -Wl,--end-group -lpthread
4. myprog.f とインテル® MKL の逐次バージョンのダイナミック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel -lmkl_sequential -lmkl_core -lpthread
5. myprog.f、Fortran 95 LAPACK インターフェイス1、インテル® MKL の並列バージョンのスタ ティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/32 -lmkl_lapack95
-Wl,--start-group $MKLPATH/libmkl_intel.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
6. myprog.f、Fortran 95 BLAS インターフェイス1、インテル® MKL の並列バージョンのスタ ティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/32 -lmkl_blas95 -Wl,--start-group $MKLPATH/libmkl_intel.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
7. myprog.f、反復法スパースソルバーの並列バージョン、インテル® MKL の並列バージョンの スタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -lmkl_solver -Wl,--start-group $MKLPATH/libmkl_intel.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
8. myprog.f、反復法スパースソルバーの逐次バージョン、インテル® MKL の逐次バージョンの スタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -lmkl_solver_sequential -Wl,--start-group $MKLPATH/libmkl_intel.a
$MKLPATH/libmkl_sequential.a $MKLPATH/libmkl_core.a -Wl,--end-group -lpthread
アプリケーションと インテル® マス・カーネル・ ライブラリーのリンク
5
インテル ® 64 および IA-64 アーキテクチャー・ベースのシステムでのリンク
1. myprog.f と LP64 インターフェイスをサポートしているインテル® MKL の並列バージョンの スタティック・リンク。
ifort 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
2. myprog.f と LP64 インターフェイスをサポートしているインテル® MKL の並列バージョンの ダイナミック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread 3. myprog.f と LP64 インターフェイスをサポートしているインテル® MKL の逐次バージョンの
スタティック・リンク。
ifort 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
4. myprog.f と LP64 インターフェイスをサポートしているインテル® MKL の逐次バージョンの ダイナミック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
5. myprog.f と ILP64 インターフェイスをサポートしているインテル® MKL の並列バージョンの スタティック・リンク。
ifort 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
6. myprog.f と ILP64 インターフェイスをサポートしているインテル® MKL の並列バージョンの ダイナミック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread 7. myprog.f、Fortran 95 LAPACK インターフェイス1、LP64 インターフェイスをサポートして
いるインテル® MKL の並列バージョンのスタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/em64t/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
8. myprog.f、Fortran 95 BLAS インターフェイス1、LP64 インターフェイスをサポートしてい るインテル® MKL の並列バージョンのスタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/em64t/lp64 -lmkl_blas95_lp64
-Wl,--start-group $MKLPATH/libmkl_intel_lp64.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
9. myprog.f、反復法スパースソルバーの並列バージョン、LP64 インターフェイスをサポート しているインテル® MKL の並列バージョンのスタティック・リンク。
1. Fortran 95 LAPACK および BLAS インターフェイス・ライブラリーの構築方法については、「Fortran 95 インターフェイス、LAPACK および BLAS」を
参照してください。
5
インテル® マス・カーネル・ライブラリー・ユーザーズガイドifort myprog.f -L$MKLPATH -I$MKLINCLUDE -lmkl_solver_lp64 -Wl,--start-group $MKLPATH/libmkl_intel_lp64.a
$MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
10. myprog.f、反復法スパースソルバーの逐次バージョン、LP64 インターフェイスをサポート しているインテル® MKL の逐次バージョンのスタティック・リンク。
ifort myprog.f -L$MKLPATH -I$MKLINCLUDE -lmkl_solver_lp64_sequential -Wl,--start-group $MKLPATH/libmkl_intel_lp64
$MKLPATH/libmkl_sequential.a $MKLPATH/libmkl_core.a -Wl,--end-group -lpthread