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

link errors with the nt2 library

phuetembl_fr
Beginner
707 Views
Hi, I am trying to use MKL with a little program based on the nt2 library (nt2.sourceforge.net). This library uses blas/lapack. It works perfectly with an atlas version of blas but the link fails with mkl (see testNT2_nt2header.log). The nt2 library uses a blas header wich contains links to the fortran blas library so I didn't include "mkl.h". Replacing it by the mkl header doesn't solve the problem as you can see in the testNT2_mklheader.log file.

Thanks for your help,

regards,
P.Huet
0 Kudos
4 Replies
TimP
Honored Contributor III
707 Views
Until you provide more specific information, we have to make guesses. If you are trying to mix MKL (built by Intel ICL) with a library built by one of MinGW or cygwin gcc, driving the whole thing with an unspecified compiler/linker combination, you are going beyond my ability to advise you. Intel ICL is designed for compatibility with MSVC, and depends on the libraries provided in Visual Studio. If you are looking for confirmation that atlas is a more useable choice than MKL for gcc builds on Windows, this may be sufficient.
0 Kudos
phuetembl_fr
Beginner
707 Views
Quoting - tim18
Until you provide more specific information, we have to make guesses. If you are trying to mix MKL (built by Intel ICL) with a library built by one of MinGW or cygwin gcc, driving the whole thing with an unspecified compiler/linker combination, you are going beyond my ability to advise you. Intel ICL is designed for compatibility with MSVC, and depends on the libraries provided in Visual Studio. If you are looking for confirmation that atlas is a more useable choice than MKL for gcc builds on Windows, this may be sufficient.

I would prefer to use mkl than atlas because of its automatic optimization tuning. I'm trying to call mkl from the NT2 library compiled with gcc cygwin. The link NT2-mkl gives some undefined references (eg mkl_blas_xsgemm). I've noticed that this function was only in the ia64 mkl version. In the ia32 one, that I'm using, this function is prefixed by an underscore. Why?Is there any library within mkl that provide the same interface than f77blas? Another information: I tried to replace atlas blas/lapack by mkl to build lapackpp and this worked perfectly.
0 Kudos
Gennady_F_Intel
Moderator
707 Views

How are you linking mkl libraries? andwhat MKL version you are using?
--Gennady

0 Kudos
phuetembl_fr
Beginner
707 Views

How are you linking mkl libraries? andwhat MKL version you are using?
--Gennady


I'm using mkl v 10.1.2.026. I use code::blocks and linked in this order: libnt2.lib mkl_blas95.lib mkl_intel_c.libmkl_intel_thread.lib mkl_core.lib mkl_libiomp5mt.lib
I changed the order since my last post and get other errors: undefined reference to _alloca_probe, _allmul, ... but I still have the warning: .drectve `-defaultlib:"uuid.lib" ' unrecognized

thanks
p.huet
0 Kudos
Reply