MKL FATAL ERROR

MKL FATAL ERROR

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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.

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

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today