We are running dsyev() on HP Superdome v9 with Intel Haswell CPUs. The test is giving us a segmentation fault in MKL_Get_N_Cores() with Intel MKL version 11.0. The segmentation fault goes away when a newer version of Intel MKL is used. The problem also goes away using Superdome v8. Any idea of what might be causing this? The following is a stack trace. Thanks
#0 0x00007f551168bbc8 in MKL_get_N_Cores () from ./490/lib/libmkl_intel_thread.so
#1 0x00007f551168b3d4 in mkl_read_threads_env () from ./490/lib/libmkl_intel_thread.so
#2 0x00007f551168b01a in MKL_Get_Max_Threads () from ./490/lib/libmkl_intel_thread.so
#3 0x00007f551168b002 in mkl_serv_mkl_get_max_threads () from ./490/lib/libmkl_intel_thread.so
#4 0x00007f550eb5c776 in mkl_lapack_dsteqr () from ./490/lib/libmkl_lapack.so
#5 0x00007f5511682f3c in mkl_lapack_dsteqr () from ./490/lib/libmkl_intel_thread.so
#6 0x00007f550ee1a22f in mkl_lapack_dstedc () from ./490/lib/libmkl_lapack.so
#7 0x00007f55149388bb in mkl_lapack_dstedc () from ./490/lib/libmkl_core.so
#8 0x00007f550ee1f78c in mkl_lapack_dsyevd () from ./490/lib/libmkl_lapack.so
#9 0x00007f5514939281 in mkl_lapack_dsyevd () from ./490/lib/libmkl_core.so
#10 0x00007f5512330f0e in dsyevd_ () from ./490/lib/libmkl_intel_lp64.so
Do you have libmemkind installed on your HP Superdome v9 system (/usr/lib64/libmemkind.so or /usr/lib/libmemkind.so should be presented in this case)? If so, could you please try to set MKL_FAST_MEMORY_LIMIT environment variable to 0 and run your application once more?
$ export MKL_FAST_MEMORY_LIMIT=0 $ ./a.out
Also, is it possible for you to try one of the latest Intel MKL release (11.3.2)?
Thanks for your suggestions. We will try libmemkind.so/MKL_FAST_MEMORY_LIMIT. The MKL library is used in a commercial software. Our latest software that uses the latest version of MKL does not seem to have this issue. For earlier versions of our software, we would rather not update the version of MKL library as this could have unforeseen effects to existing clients. Are there any workarounds for older MKL versions?
libmemkind.so/MKL_FAST_MEMORY_LIMIT work around does not seem to be an option on the box. It does not have libmemkind.so installed. Is there any other work around that may work with older MKL versions?