|
zpotrf_omp_gen.f:(.text+0x15d): undefined reference to `mkl_lapack_xzpotrf'
/home/intel/compilers_and_libraries_2019.1.144/linux/mkl/lib/intel64/libmkl_sequential.a(dpotrf_seq.o): In function `mkl_lapack_dpotrf':
最后的报错信息全部是关于Intel MKL库的,应该是Intel MKL的编译参数没选对。根据上面这个提示,大概是这样的,你编译elpa的时候是选择了openmp并行的,但是你链接的Intel的数学库是libmkl_sequential.a,这个库文件是串行的,不支持openmp,intel MKL支持openmp的库文件是libmkl_intel_thread.a
使用32位整数,openmp并行的时候,且静态链接MKL的编译参数如下:
-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm -ldl
这些编译参数可以从Intel的如下网站直接获得:
https://software.intel.com/conte ... k-line-advisor.html |
|