MKL FATAL ERROR

MKL FATAL ERROR

adelgadogran's picture

Hello,

I have installed the version 11.0.069 of Intel Fortran compiler and the version 10.1.0.015 of the MKL library.

I am building my Fortran application without neither compilation nor linking error messages the following way:

ifort ci.f90 -o ci.x *.o -lmkl_lapack -lmkl_ia32 -lguide -lmkl_intel_thread -lmkl_core -lpthread

The final task of this calculation is the diagonalization of a symmetric matrix by using the subroutine DSYEVD from lapack and I am getting the following running time message: MKL FATAL ERROR on load the function dll_cpu_version

Please, I will appreciate any help/advice on that.

Thanks and regards,

Alain Delado.

13 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Michael Chuvelev (Intel)'s picture

Hello Alain,

you probably need tocheck the LD_LIBRARY_PATH environment variable that shoud contain the path to MKL binaries.

You may try different link line as well which is more direct:

ifort ci.f90 -o ci.x *.o -lmkl_intel -Wl,--start-group -lmkl_intel_thread -lmkl_core -Wl,--end-group -lguide -lpthread

Michael.

adelgadogran's picture
Quoting - Michael Chuvelev (Intel)

Dear Michael,

Thank you very much for your help, now it is working perfect. I appreciate it.

Best regards,

Alain.

Hello Alain,

you probably need to check the LD_LIBRARY_PATH environment variable that shoud contain the path to MKL binaries.

You may try different link line as well which is more direct:

ifort ci.f90 -o ci.x *.o -lmkl_intel -Wl,--start-group -lmkl_intel_thread -lmkl_core -Wl,--end-group -lguide -lpthread

Michael.

neallee's picture
Quoting - adelgadogran

I have encontered this problem, too.

However i cann't locate the binary file of mkl. where is it? mkl/10.1/lib/em64t/ i have not find any bin folder there in the mkl dirs.. Best regards, Ning.
Gennady Fedorov (Intel)'s picture
SeeMKL's High-level directory structure:

for windows:
MKLROOT=C:AppsIntelMKL10.1
em64tbin
em64tlib
ia32bin
ia32lib
ia64bin
ia64lib

and for Linux:

lib32 -- Contains static libraries and shared objects for IA-32 Architecture
lib64 -- Contains static libraries and shared objects for Intel 64 architecture (formerly, Intel EM64T)
em64t -- Contains static libraries and shared objects for IA-64 architecture (Itanium processor family)
The same for MacOS
--Gennady

Tim Prince's picture
Quoting - Gennady Fedorov (Intel) SeeMKL's High-level directory structure:

and for Linux:

lib32 -- Contains static libraries and shared objects for IA-32 Architecture
lib64 -- Contains static libraries and shared objects for Intel 64 architecture (formerly, Intel EM64T)
em64t -- Contains static libraries and shared objects for IA-64 architecture (Itanium processor family)
The same for MacOS

In the linux directory, /lib/em64t continues to contain files for intel64. It is installed only on 64-bit systems. In current versions, the /lib/64 for Itanium is not installed on 32-bit or x86_64.

Gennady Fedorov (Intel)'s picture
Mkl's package (since MKL 10) contains all binaries for all architectures and by default, all binaries will be installed on your system independently OS type.

neallee's picture
Quoting - Gennady Fedorov (Intel) Mkl's package (since MKL 10) contains all binaries for all architectures and by default, all binaries will be installed on your system independently OS type.

Thank you, all. That's very kind of your suggestions.

But the error was still there. I recall the installation procedure of intel compiler, there is an warning said that the linux distribution is not recognized by the intel. Can you please give me any idea?? My LD_LIBRARY_PATH LD_LIBRARY_PATH=/opt/intel/mkl/10.1.1.019/lib/em64t:/opt/intel/Compiler/11.0/069/ipp/em64t/sharedlib:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:/opt/intel/Compiler/11.0/069/tbb/em64t/cc3.4.3_libc2.3.4_kernel2.6.9/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/opt/intel/Compiler/11.0/069/ipp/em64t/sharedlib:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:/opt/intel/Compiler/11.0/069/tbb/em64t/cc3.4.3_libc2.3.4_kernel2.6.9/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/home/neolee/mpich2-install/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:opt/ActiveTcl-8.5/lib:/opt/intel/Compiler/11.0/069/lib:/opt/ActiveTcl-8.5/lib: Thanks. Best regards, Ning.
Tim Prince's picture

You haven't given us an idea which file you can't find. Show us the command you enter and the error message.
In the 11.x combined compiler and MKL distributions, the environment variable scripts are in the top level /bin directory, and they set LD_LIBRARY_PATH for all installed components.

neallee's picture
Quoting - neallee Thank you, all. That's very kind of your suggestions. But the error was still there. I recall the installation procedure of intel compiler, there is an warning said that the linux distribution is not recognized by the intel. Can you please give me any idea?? My LD_LIBRARY_PATH LD_LIBRARY_PATH=/opt/intel/mkl/10.1.1.019/lib/em64t:/opt/intel/Compiler/11.0/069/ipp/em64t/sharedlib:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:/opt/intel/Compiler/11.0/069/tbb/em64t/cc3.4.3_libc2.3.4_kernel2.6.9/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/opt/intel/Compiler/11.0/069/ipp/em64t/sharedlib:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:/opt/intel/Compiler/11.0/069/tbb/em64t/cc3.4.3_libc2.3.4_kernel2.6.9/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/home/neolee/mpich2-install/lib:/opt/intel/Compiler/11.0/069/lib/intel64:/opt/intel/Compiler/11.0/069/mkl/lib/em64t:opt/ActiveTcl-8.5/lib:/opt/intel/Compiler/11.0/069/lib:/opt/ActiveTcl-8.5/lib: Thanks. Best regards, Ning.

Additional information In my program, i used these mkl lib files, this is part of my makefile.def MKL_LIB = /opt/intel/Compiler/11.0/069/mkl/lib/em64t IFC_LIB = /opt/intel/Compiler/11.0/069/lib/intel64 MACHINE_SPECIFIC_LIBS = -L${MKL_LIB} -lmkl_lapack -lmkl_em64t -lmkl -lguide -lpthread -L${IFC_LIB} -lifcore -limf -lintlc -lsvml Best regards,
Ning.
neallee's picture
Quoting - tim18
You haven't given us an idea which file you can't find. Show us the command you enter and the error message.
In the 11.x combined compiler and MKL distributions, the environment variable scripts are in the top level /bin directory, and they set LD_LIBRARY_PATH for all installed components.

Actually, i am using the parallel computation. The excution command is, mpiexec -n 2 -wdir /home/neolee/Parallel -path /home/neolee/bin SSES ex8.tcl and the output is, MKL FATAL ERROR on load the function dll_cpu_version
MKL FATAL ERROR on load the function dll_cpu_version
rank 0 in job 8 node1_43986 caused collective abort of all ranks
exit status of rank 0: return code 1 so , i found this topic and try to avoid this error. Thank you, very much. Best regards, Ning.
Gennady Fedorov (Intel)'s picture
Ning,
for linking with em64 libraries you have to use another linking libs versus ia32.
as an example, see below how to do static linking customers code with Lapack functionality on system based on Intel 64 architecture:
ifort -w test.f ${MKLP}/libmkl_intel_lp64.a -Wl,--start-group ${MKLP}/libmkl_intel_thread.a ${MKLP}/libmkl_core.a -Wl,--end-group -L${MKLP}
-iomp5 -lpthread -o test.out
--Gennady

neallee's picture
Quoting - Gennady Fedorov (Intel) Ning,
for linking with em64 libraries you have to use another linking libs versus ia32.
as an example, see below how to do static linking customers code with Lapack functionality on system based on Intel 64 architecture:
ifort -w test.f ${MKLP}/libmkl_intel_lp64.a -Wl,--start-group ${MKLP}/libmkl_intel_thread.a ${MKLP}/libmkl_core.a -Wl,--end-group -L${MKLP}
-iomp5 -lpthread -o test.out
--Gennady

Thankyou very much.

Best regards,

Ning.

Login to leave a comment.