Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

IA-32 vs Intel(R)64 Applications

George_P_
Beginner
836 Views
If I install the MKL using nmake plat=win32 lib and build an application for IA-32 architecture everything works fine.
If I install the MKL using nmake plat=win32e lib and build for the Intel 64 architecture I get the following linker errors:

error LNK2019: unresolved external symbol DGESVD referenced in function DGESVD_MKL95
etc

Has anyone had any experience with this process or this form of error message?

Thanks
George
0 Kudos
1 Solution
Vladimir_Koldakov__I
New Contributor III
836 Views

It's really linking problem.
According to the MKL 10.1User Guide, Linking Applications / Linking Examples

For IA32 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting cdecl interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib


For Intel 64 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting LP64 interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib

Thanks,
Vladimir

View solution in original post

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
836 Views
How are you linking your application?
What MKL version are you using?
--GIF
0 Kudos
Vladimir_Koldakov__I
New Contributor III
837 Views

It's really linking problem.
According to the MKL 10.1User Guide, Linking Applications / Linking Examples

For IA32 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting cdecl interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib


For Intel 64 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting LP64 interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib

Thanks,
Vladimir

0 Kudos
George_P_
Beginner
836 Views

It's really linking problem.
According to the MKL 10.1User Guide, Linking Applications / Linking Examples

For IA32 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting cdecl interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib


For Intel 64 architecture:
Static linking of user's code myprog.f, Fortran 95 LAPACK interface, and parallel Intel MKL supporting LP64 interface:

ifort myprog.f mkl_lapack95.lib mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib

Thanks,
Vladimir


Vladimir

Thanks for that - the libiomp5md.lib file and a couple of other files were not required for linking for IA-32 and I missed that

Regards

0 Kudos
Reply