Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL FATAL ERROR

adelgadogran
Beginner
1,509 Views

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.

0 Kudos
12 Replies
Michael_C_Intel4
Employee
1,509 Views

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.

0 Kudos
adelgadogran
Beginner
1,509 Views

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.

0 Kudos
neallee
Beginner
1,509 Views
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.
0 Kudos
Gennady_F_Intel
Moderator
1,509 Views
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

0 Kudos
TimP
Honored Contributor III
1,509 Views
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.
0 Kudos
Gennady_F_Intel
Moderator
1,509 Views
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.

0 Kudos
neallee
Beginner
1,509 Views
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.
0 Kudos
TimP
Honored Contributor III
1,509 Views

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.
0 Kudos
neallee
Beginner
1,509 Views
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.
0 Kudos
neallee
Beginner
1,509 Views
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.
0 Kudos
Gennady_F_Intel
Moderator
1,509 Views
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

0 Kudos
neallee
Beginner
1,509 Views
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.
0 Kudos
Reply