使用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
我仍然得到同样的错误。