You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Intel compiler version 14.0.2 with mkl v11.1.2 on intel64 architecture.
There are a few issues with the default mkl_libs in site.cfg.example
First, mkl_blas95_lp64 and mkl_lapack95_lp64 are only static (.a) and I must compile shared object (I believe this is true for everybody). So I took them out.
Second, libmkl_core.so is not complete as the libmkl_core.a and therefore there will be some undefined symbols. Those are in libmkl_def.so instead. So I added the mkl_def.
Third, compiling this way succeeds, but fails at runtime with: ImportError: /opt/intel/mkl/lib/intel64/libmkl_avx.so: undefined symbol: ownLastTriangle_64f
(which, for the record, is very close to this https://software.intel.com/en-us/forums/topic/473447 related problem) nm /opt/intel/*/lib/intel64/*.so | grep " ownLastTriangle_64" # notice the space before "own"
does find many U (usage) of ownLastTriangle_64s but no T (text definition). Dropping the space in the above grep, does find some T but all prefixed and not resolved automatically, short of symbol mangling.
Therefore, I took mkl_avx out too.
In conclusion, this is my working libs line in site.cfg: mkl_libs = mkl_intel_lp64, mkl_gf_lp64, mkl_intel_thread, mkl_core, mkl_def, mkl_vml_avx, mkl_rt, iomp5
PS: writing this as issue instead of pull request since I suspect different installs of the compiler and the mkl may need different things -- and obviously the problem is solved for me, so you can close it right away (possibly including a comment in the site.cfg.example)
The text was updated successfully, but these errors were encountered:
I am using Intel compiler version 14.0.2 with mkl v11.1.2 on intel64 architecture.
There are a few issues with the default mkl_libs in site.cfg.example
mkl_blas95_lp64
andmkl_lapack95_lp64
are only static (.a
) and I must compile shared object (I believe this is true for everybody). So I took them out.libmkl_core.so
is not complete as thelibmkl_core.a
and therefore there will be some undefined symbols. Those are inlibmkl_def.so
instead. So I added themkl_def
.ImportError: /opt/intel/mkl/lib/intel64/libmkl_avx.so: undefined symbol: ownLastTriangle_64f
(which, for the record, is very close to this https://software.intel.com/en-us/forums/topic/473447 related problem)
nm /opt/intel/*/lib/intel64/*.so | grep " ownLastTriangle_64" # notice the space before "own"
does find many
U
(usage) ofownLastTriangle_64
s but noT
(text definition). Dropping the space in the above grep, does find someT
but all prefixed and not resolved automatically, short of symbol mangling.Therefore, I took mkl_avx out too.
In conclusion, this is my working libs line in site.cfg:
mkl_libs = mkl_intel_lp64, mkl_gf_lp64, mkl_intel_thread, mkl_core, mkl_def, mkl_vml_avx, mkl_rt, iomp5
PS: writing this as issue instead of pull request since I suspect different installs of the compiler and the mkl may need different things -- and obviously the problem is solved for me, so you can close it right away (possibly including a comment in the site.cfg.example)
The text was updated successfully, but these errors were encountered: