使用gcc在64位中使用Math Kernel Library编译程序?

时间:2018-04-26 11:15:00

标签: c intel-mkl

使用gcc似乎只能使用英特尔的数学内核库以32位模式编译程序,按照installation instructions

source /opt/intel/mkl/bin/mklvars.sh ia32 
gcc -m32 example_program.c -lmkl_intel -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm

如果我尝试,例如

# Only options are ia32 or intel64
source /opt/intel/mkl/bin/mklvars.sh intel64
gcc example_program.c -lmkl_intel -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm

我收到错误:

/usr/bin/ld: cannot find -lmkl_intel

如果不使用icc,即英特尔自己的C编译器,是否无法使用64位数学内核库编译程序?

编辑:另外,编译时我收到消息

/usr/bin/ld: skipping incompatible /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/lib/ia32_lin/libmkl_intel.so when searching for -lmkl_intel
/usr/bin/ld: skipping incompatible /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/lib/ia32_lin/libmkl_intel.a when searching for -lmkl_intel

编译时使用:

gcc hertzian_analysis_nd.c -L"/opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/lib/intel64_lin/libmkl_intel_ilp64.a" -lmkl_intel -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm

我仍然得到同样的错误。

0 个答案:

没有答案