Похоже, что при gcc
компиляция программ возможна только с использованием библиотеки Intel Math Kernel Library в 32-битном режиме, согласно инструкциям по установке
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
Разве невозможно скомпилировать программы с использованием библиотеки Math Kernel в 64-битной версии без использования icc, собственного компилятора C от Intel?
Редактировать: дополнительно при компиляции я получаю сообщение
/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
Я все еще получаю ту же ошибку.