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

Scipy unit tests fail when build with icc and linked with MKL

Craig_Finch
Beginner
533 Views
I'm building Scipy (a Python interface to many Fortran, C, and C++ numerical libraries) using icc and ifort 10.1 20070913, and linking with MKL 10.0.1.014 on a 64-bit Red Hat Linux cluster. Scipy builds successfully and seems to run fine on the limited number of functions I've used, but it fails when I attempt to run its unit tests (output at end of post). It looks like it's failing in flapack.so or multiarray.so, but I don't know how to diagnose this any further. I do know that Numpy is working correctly, and passed all its unit tests. Does it matter that the "cblas" module is missing? Which BLAS is MKL supposed to provide? I don't know exactly what Scipy is importing from MKL, and what it's bundling.

Can you provide some suggestions about how to diagnose this problem?

Here are my LDFLAGS, as suggested by the Intel online linking page: -lstdc++ /apps/intel/mkl/10.0.1.014/lib/em64t/libmkl_solver_lp64_sequential.a -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread

Program output:
python -c "import scipy; scipy.test()"
Running unit tests for scipy
NumPy version 1.3.0
NumPy is installed in /home/cfinch/lib/python2.5/site-packages/numpy
SciPy version 0.7.0
SciPy is installed in /home/cfinch/lib/python2.5/site-packages/scipy
Python version 2.5.4 (r254:67916, Jul 6 2009, 19:27:14) [GCC Intel C++ gcc 4.1 mode]
nose version 0.11.1
/home/cfinch/lib/python2.5/site-packages/scipy/linsolve/__init__.py:4: DeprecationWarning: scipy.linsolve has moved to scipy.sparse.linalg.dsolve
warn('scipy.linsolve has moved to scipy.sparse.linalg.dsolve', DeprecationWarning)
.......
****************************************************************
WARNING: cblas module is empty
-----------
See scipy/INSTALL.txt for troubleshooting.
Notes:
* If atlas library is not found by numpy/distutils/system_info.py,
then scipy uses fblas instead of cblas.
****************************************************************

....................................................................../home/cfinch/lib/python2.5/site-packages/scipy/linalg/decomp.py:1177: DeprecationWarning: qr econ argument will be removed after scipy 0.7. The economy transform will then be available through the mode='economic' argument.
"the mode='economic' argument.", DeprecationWarning)
...........................*** glibc detected *** python: free(): invalid next size (fast): 0x000000001eef7ba0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x315326e8a0]
/lib64/libc.so.6(cfree+0x8c)[0x3153271fbc]
/home/cfinch/lib/python2.5/site-packages/numpy/core/multiarray.so[0x2aaaae45f827]
/home/cfinch/lib/python2.5/site-packages/scipy/linalg/flapack.so[0x2aaab6ab9927]
/home/cfinch/lib/python2.5/site-packages/scipy/linalg/flapack.so[0x2aaab6ac737b]
python(PyObject_Call+0x15)[0x417c65]
python[0x4c9c07]
python(PyEval_EvalFrameEx+0xe1e)[0x4c28a0]
python[0x4ca369]
python(PyEval_EvalFrameEx+0xe1e)[0x4c28a0]
python(PyEval_EvalCodeEx+0x5a2)[0x4cb7ee]
python[0x532ef5]
... ======= Memory map: ========
00400000-005e2000 r-xp 00000000 00:12 97412 /gpfs/fs0/work/cfinch/bin/python
007e2000-0081a000 rwxp 001e2000 00:12 97412 /gpfs/fs0/work/cfinch/bin/python
0081a000-00822000 rwxp 0081a000 00:00 0
1d204000-1f20d000 rwxp 1d204000 00:00 0
40000000-40001000 ---p 40000000 00:00 0
40001000-40011000 rwxp 40001000 00:00 0
40011000-40012000 ---p 40011000 00:00 0
40012000-4040a000 rwxp 40012000 00:00 0
4040a000-4040b000 ---p 4040a000 00:00 0
4040b000-40803000 rwxp 4040b000 00:00 0
40803000-40804000 ---p 40803000 00:00 0
40804000-40bfc000 rwxp 40804000 00:00 0
40bfc000-40bfd000 ---p 40bfc000 00:00 0
40bfd000-40ff6000 rwxp 40bfd000 00:00 0
40ff6000-40ff7000 ---p 40ff6000 00:00 0
40ff7000-413f0000 rwxp 40ff7000 00:00 0
413f0000-413f1000 ---p 413f0000 00:00 0
413f1000-417ea000 rwxp 413f1000 00:00 0
417ea000-417eb000 ---p 417ea000 00:00 0
417eb000-41be4000 rwxp 4 3152200000-315221a000 r-xp 00000000 08:03 131368 /lib64/ld-2.5.so
3152419000-315241a000 r-xp 00019000 08:03 131368 /lib64/ld-2.5.so
315241a000-315241b000 rwxp 0001a000 08:03 131368 /lib64/ld-2.5.so
3152600000-3152614000 r-xp 00000000 08:03 24085282 /usr/lib64/libz.so.1.2.3
3152614000-3152813000 ---p 00014000 08:03 24085282 /usr/lib64/libz.so.1.2.3
3152813000-3152814000 rwxp 00013000 08:03 24085282 /usr/lib64/libz.so.1.2.3

3153a00000-3153a15000 r-xp 00000000 08:03 131372 /lib64/libpthread-2.5.so
3153a15000-3153c14000 ---p 00015000 08:03 131372 /lib64/libpthread-2.5.so
3153c14000-3153c15000 r-xp 00014000 08:03 131372 /lib64/libpthread-2.5.so
3153c15000-3153c16000 rwxp 00015000 08:03 131372 /lib64/libpthread-2.5.so
3153c16000-3153c1a000 rwxp 3153c16000 00:00 0
3156e00000-3156e0d000 r-xp 00000000 08:03 131375 /lib64/libgcc_s-4.1.1-20070105.so.1
3156e0d000-315700c000 ---p 0000d000 08:03 131375 /lib64/libgcc_s-4.1.1-20070105.so.1
315700c000-315700d000 rwxp 0000c000 08:03 131375 /lib64/libgcc_s-4.1.1-20070105.so.1
3157200000-31572e6000 r-xp 00000000 08:03 24085283 /usr/lib64/libstdc++.so.6.0.8
31572e6000-31574e5000 ---p 000e6000 08:03 24085283 /usr/lib64/libstdc++.so.6.0.8
31574e5000-31574eb000 r-xp 000e5000 08:03 24085283 /usr/lib64/libstdc++.so.6.0.8
31574eb000-31574ee000 rwxp 000eb000 08:03 24085283 /usr/lib64/libstdc++.so.6.0.8

31574ee000-3157500000 rwxp 31574ee000 00:00 0
315c000000-315c125000 r-xp 00000000 08:03 131380 /lib64/libcrypto.so.0.9.8b
315c125000-315c324000 ---p 00125000 08:03 131380 /lib64/libcrypto.so.0.9.8b
315c324000-315c343000 rwxp 00124000 08:03 131380 /lib64/libcrypto.so.0.9.8b
315c343000-315c347000 rwxp 315c343000 00:00 0
315c400000-315c411000 r-xp 00000000 08:03 131378 /lib64/libresolv-2.5.so
315c411000-315c611000 ---p 00011000 08:03 131378 /lib64/libresolv-2.5.so
315c611000-315c612000 r-xp 00011000 08:03 131378 /lib64/libresolv-2.5.so
315c612000-315c613000 rwxp 00012000 08:03 131378 /lib64/libresolv-2.5.so
315c613000-315c615000 rwxp 315c613000 00:00 0
315d000000-315d002000 r-xp 00000000 08:03 131379 /lib64/libcom_err.so.2.1
315d002000-315d201000 ---p 00002000 08:03 131379 /lib64/libcom_err.so.2.1
315d002000-315d201000 ---p 00002000 08:03 131379 /lib64/libcom_err.so.2.1
315d201000-315d202000 rwxp 00001000 08:03 131379 /lib64/libcom_err.so.2.1
315d400000-315d423000 r-xp 00000000 08:03 24085297 /usr/lib64/libk5crypto.so.3.0
315d423000-315d623000 ---p 00023000 08:03 24085297 /usr/lib64/libk5crypto.so.3.0
315d623000-315d625000 rwxp 00023000 08:03 24085297 /usr/lib64/libk5crypto.so.3.0
315d800000-315d829000 r-xp 00000000 08:03 24085299 /usr/lib64/libgssapi_krb5.so.2.2
315d829000-315da28000 ---p 00029000 08:03 24085299 /usr/lib64/libgssapi_krb5.so.2.2
315da28000-315da2a000 rwxp 00028000 08:03 24085299 /usr/lib64/libgssapi_krb5.so.2.2
315dc00000-315dc07000 r-xp 00000000 08:03 14198565 /usr/lib64/libkrb5support.so.0.1
315dc07000-315de06000 ---p 00007000 08:03 14198565 /usr/lib64/libkrb5support.so.0.1
315de06000-315de07000 rwxp 00006000 08:03 14198565 /usr/lib64/libkrb5support.so.0.1
315e000000-315e084000 r-xp 00000000 08:03 24085298 /usr/lib64/libkrb5.so.3.2
315e084000-315e284000 ---p 00084000 08:03 24085298 /usr/lib64/liAborted
0 Kudos
0 Replies
Reply