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

Library problem with ifc + mkl

marlinux
Beginner
949 Views
Hi, I am trying to compile a big program which call several times lapack and blas functions. I am using ifc 7.1 and mkl 6.0 in a PIII machine with redhat 9.0. I am compiling with the old libc library of redhat 8.0 to eliminate some compiler/rh9 incompatibility. during the compilation I have the following problem: " Linking mdfgme.exe ... egvlap.o(.text+0xbbc): In function `egvlap': /home/martino/programmazione/mcdf2003/egvlap.f90:69: undefined reference to `dsyevr_' egvlap.o(.text+0x104f):/home/martino/programmazione/mcdf2003/egvlap.f90:79: undefined reference to `dsyevr_' menoam.o(.text+0x6fff): In function `menoam': /home/martino/programmazione/mcdf2003/menoam.f90:325: undefined reference to `dgesdd_' sdhspl.o(.text+0x1c60): In function `sdhspl': /home/martino/programmazione/mcdf2003/sdhspl.f90:120: undefined reference to `dsygvd_' sdhspl.o(.text+0x1f05):/home/martino/programmazione/mcdf2003/sdhspl.f90:126: undefined reference to `dsygvd_' make: *** [mdfgme.exe] Error 1 " It is looks like there is not all the lapack function in mkl. Or maybe I missed some link in the Makefile? Thanks in advance, Martino
0 Kudos
3 Replies
TimP
Honored Contributor III
949 Views
There is no duplication between the lapack library, which is supplied with mkl, and the main mkl libraries. You must link explicitly with the lapack library, before the mkl library, if you require functions from it.
0 Kudos
marlinux
Beginner
949 Views
So it is not true what there is in the page http://www.intel.com/software/products/mkl/ !! " Highly optimized library ? BLAS, LAPACK, DFTs, VML, VSL, optimized for the latest Intel processor range performing faster than ever on the Intel Pentium 4 processor, Intel Pentium M processor component of Intel Centrino? mobile technology, Intel Xeon? processor and Intel Itanium 2 processor. " I have still problem with the link to lapack, blas and mkl.The lapack and blas libraries I am using are redhat 9.0 rpms. Should I recompile that with ifc or icc?
0 Kudos
TimP
Honored Contributor III
949 Views
The lapack and blas libraries from red hat are meant to be used with g77. The lapack and mkl libraries which come together from Intel play a similar role, with a higher level of optimization, with the Intel compiler. In either case, if you are using lapack, you must link explicitly against both libraries. You could rebuild lapack and blas from source with ifc, if you don't wish to use mkl. If you search a bit, you will find useful suggestions from people who have done it. Even if you are successful, you will likely equal the performance of mkl only for tasks for which mkl has not been optimized, or which depend on you making your own corrections to source. The value of your time and self-education is for you to judge.
0 Kudos
Reply