Hi,
I have a mwe with the bug. I reproduced with the following setup:
export MKL_CBWR=COMPATIBLE
export MKL_VERBOSE=1
./foo
Output:
Foo is called
MKL_VERBOSE Intel(R) MKL 2018.0 Update 1 Product build 20171007 for Intel(R) 64 architecture Intel(R) Architecture processors, Lnx 3.20GHz lp64 intel_thread NMICDev:0
MKL_VERBOSE DGETRF(27,27,0x1f34280,27,0x7ffd36f28c20,27) 22.90ms CNR:COMPATIBLE Dyn:1 FastMM:1 TID:0 NThr:6 WDiv:HOST:+0.000
Calling MPI_Init:
foo compiled with:
mpicxx -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_lp64 -liomp5 -ldl -lpthread -o foo foo.cc
mpicxx tested: OpenMPI {2.1.2,3.0.1}
It works on another computer with Intel MKL 2015 installed:
./foo
Foo is called
MKL_VERBOSE Intel(R) MKL 11.2 Update 2 Product build 20150120 for Intel(R) 64 architecture Intel(R) Architecture processors, Lnx 2.40GHz lp64 intel_thread NMICDev:0
MKL_VERBOSE DGETRF(27,27,0xdc7c20,27,0x7ffc8b6f1870,27) 8.38ms CNR:COMPATIBLE Dyn:1 FastMM:1 TID:0 NThr:12 WDiv:HOST:+0.000
Calling MPI_Init:
MPI_Init done...
Foo is called
MKL_VERBOSE DGETRF(27,27,0xf15610,27,0x7ffc8b6f18e0,27) 127.27us CNR:COMPATIBLE Dyn:1 FastMM:1 TID:0 NThr:12 WDiv:HOST:+0.000
It also works if I set MKL_NUM_THREADS=1
Thanks,
Eric