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

ZGESDD example does not run with MKL, runs well with vecLib

fercook
Beginner
325 Views
Hello,

I am having problems using the Singular Value Decomposition routine from LAPACK, specifically ZGESDD.
The error even appears with the example given in the Intel page:
The compilation goes as
[bash]$ ifort -L/opt/intel/Compiler/11.1/084/Frameworks/mkl/lib/em64t -I/opt/intel/Compiler/11.1/084/Frameworks/mkl/include -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread lapacktest.f 
$ ./a.out 
 ZGESDD Example Program Results

MKL ERROR: Parameter 13 was incorrect on entry to ZGESDD

MKL ERROR: Parameter 13 was incorrect on entry to ZGESDD
 
 Singular values
   0.00   0.00   0.00
 
 Left singular vectors (stored columnwise)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
 
 Right singular vectors (stored rowwise)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
 (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00) (  0.00,  0.00)
[/bash]
If, however, I compile with the vecLib framework, everything goes well:
[bash]$ ifort -framework vecLib lapacktest.f 
$ ./a.out 
 ZGESDD Example Program Results
 
 Singular values
  21.76  16.60   3.97
 
 Left singular vectors (stored columnwise)
 (  0.55,  0.00) (  0.76,  0.00) ( -0.34,  0.00)
 ( -0.04, -0.15) (  0.27, -0.23) (  0.55, -0.74)
 (  0.81,  0.12) ( -0.52, -0.14) (  0.13, -0.11)
 
 Right singular vectors (stored rowwise)
 (  0.23,  0.21) (  0.37,  0.39) (  0.24,  0.33) ( -0.56, -0.37)
 ( -0.58,  0.40) (  0.11,  0.17) (  0.60, -0.27) (  0.16,  0.06)
 (  0.60,  0.12) ( -0.19,  0.30) (  0.39,  0.20) (  0.45,  0.31)
[/bash]
As you can see from the examples I am using version 11.1.084. I used to have version10.0.4.022, until I had to change because I switched to Snow Leopard (version 10.6.2). I briefly installed XCode 3.2.2 but then uninstalled because it broke the Ifort compiler,I then put 3.2 again. Now gcc gives me
[bash]$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)
[/bash]
Any ideas?
0 Kudos
1 Reply
barragan_villanueva_
Valued Contributor I
325 Views
Hi,

Please add -i8 option (to use INTEGER*8 by default) because namely ILP64 -> -lmkl_intel_ilp64library is used or try -lmkl_intel_lp64
0 Kudos
Reply