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

IA-32 vs Intel(R)64 Applications

George_P_
Beginner
340 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
340 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
340 Views
How are you linking your application?
What MKL version are you using?
--GIF
0 Kudos
Vladimir_Koldakov__I
New Contributor III
341 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
340 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