次のサンプルコードとリンクラインは、Fortran アプリケーションでインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) カーネルの直接呼び出しを有効にする方法を示します。
Fortran コンパイラーのプリプロセッサーによって前処理される mkl_direct_call.fi をインクルードします。
# include "mkl_direct_call.fi"
program DGEMM_MAIN
....
* oneMKL DGEMM の呼び出し
....
call sub1()
stop 1
end
* DGEMM を呼び出すサブルーチン
subroutine sub1
* oneMKL DGEMM の呼び出し
end [
インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) をマルチスレッド・モードで使用するには、インテル® Fortran コンパイラーの -fpp オプションと MKL_DIRECT_CALL プリプロセッサー・マクロを使用してコンパイルします。
ifx –DMKL_DIRECT_CALL –fpp your_application.f -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a
$(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread –lm -openmp -I$(MKLROOT)/include
インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) をシーケンシャル・モードで使用するには、インテル® Fortran コンパイラーの -fpp オプションと MKL_DIRECT_CALL_SEQ プリプロセッサー・マクロを使用してコンパイルします。
ifx –DMKL_DIRECT_CALL_SEQ –fpp your_application.f -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a
$(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread –lm -I$(MKLROOT)/include
製品および性能に関する情報 |
|---|
性能は、使用状況、構成、およびその他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) をご覧ください。 改訂 #20201201 |