David wrote: > I have not tried with icc, but the following works for me with the > last mkl (I have only tried numpy). > > [mkl] > library_dirs = /home/david/intel/mkl/10.0.1.014/lib/32 > lapack_libs = mkl_lapack > mkl_libs = mkl, guide > > (of course, adapt the library_dirs accordingly). All test pass. I have > updated the site.cfg.example in numpy. But really, if Intel keeps > changing its library names, there is not much we can do.
The last relevant MKL library name change I'm aware of occurred when MKL 9.X was released in 2006: "mkl_lapackXX.so" was changed to "mkl_lapack.so" in all 3 cases. And, since the material below shows mkl_lapack need not be in site.cfg, the name change should not matter. I tried your (locally adapted) site.cfg with no changes to distutils. /usr/local/src/1.1.0rc1/site.cfg: ----------------------------------------------------- [mkl] library_dirs = /opt/intel/mkl/mkl/10.0.3.020/lib/32 lapack_libs = mkl_lapack mkl_libs = mkl, guide ----------------------------------------------------- Build command: python setup.py config --compiler=intel build_clib \ --compiler=intel build_ext --compiler=intel install \ --prefix=/usr/local> build3 #less build3 ---------------------------------------------------- F2PY Version 2_5188 blas_opt_info: blas_mkl_info: FOUND: libraries = ['mkl', 'guide', 'pthread'] library_dirs = ['/opt/intel/mkl/10.0.3.020/lib/32'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['/usr/local/include', '/usr/include'] FOUND: libraries = ['mkl', 'guide', 'pthread'] library_dirs = ['/opt/intel/mkl/10.0.3.020/lib/32'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['/usr/local/include', '/usr/include'] lapack_opt_info: lapack_mkl_info: mkl_info: FOUND: libraries = ['mkl', 'guide', 'pthread'] library_dirs = ['/opt/intel/mkl/10.0.3.020/lib/32'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['/usr/local/include', '/usr/include'] FOUND: libraries = ['mkl_lapack', 'mkl', 'guide', 'pthread'] library_dirs = ['/opt/intel/mkl/10.0.3.020/lib/32'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['/usr/local/include', '/usr/include'] FOUND: libraries = ['mkl_lapack', 'mkl', 'guide', 'pthread'] library_dirs = ['/opt/intel/mkl/10.0.3.020/lib/32'] define_macros = [('SCIPY_MKL_H', None)] [...] copying site.cfg -> /usr/local/lib/python2.5/site-packages/numpy/distutils/ copying build/src.linux-i686-2.5/numpy/core/numpyconfig.h -> /usr/local/lib/python2.5/site-packages/numpy/core/include/numpy copying build/src.linux-i686-2.5/numpy/core/__multiarray_api.h -> /usr/local/lib/python2.5/site-packages/numpy/core/include/numpy copying build/src.linux-i686-2.5/numpy/core/multiarray_api.txt -> /usr/local/lib/python2.5/site-packages/numpy/core/include/numpy copying build/src.linux-i686-2.5/numpy/core/__ufunc_api.h -> /usr/local/lib/python2.5/site-packages/numpy/core/include/numpy copying build/src.linux-i686-2.5/numpy/core/ufunc_api.txt -> /usr/local/lib/python2.5/site-packages/numpy/core/include/numpy running install_egg_info ------------------------------------------------------------- ldd shows MKL was linked: # ldd /usr/local/lib/python2.5/site-packages/numpy/linalg/lapack_lite.so linux-gate.so.1 => (0xffffe000) libmkl_lapack.so => /opt/intel/mkl/10.0.3.020/lib/32/libmkl_lapack.so (0xb7ae1000) /opt/intel/mkl/10.0.3.020/lib/32/libmkl_intel.so (0xb79a3000) /opt/intel/mkl/10.0.3.020/lib/32/libmkl_intel_thread.so (0xb77a6000) /opt/intel/mkl/10.0.3.020/lib/32/libmkl_core.so (0xb7742000) libguide.so => /opt/intel/cc/10.1.015/lib/libguide.so (0xb76e0000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb76b4000) libimf.so => /opt/intel/cc/10.1.015/lib/libimf.so (0xb7484000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb745f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7454000) libintlc.so.5 => /opt/intel/cc/10.1.015/lib/libintlc.so.5 (0xb7411000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb72e0000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb72db000) /lib/ld-linux.so.2 (0x80000000) Interestingly, the above shows libmkl_lapack.so is being used even though it is not in the site.cfg. Apparently, mkl and guide are sufficient in site.cfg. $ python Python 2.5 (release25-maint, Dec 9 2006, 14:35:53) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> numpy.test() Numpy is installed in /usr/local/lib/python2.5/site-packages/numpy Numpy version 1.1.0rc1 Python version 2.5 (release25-maint, Dec 9 2006, 14:35:53) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)] Found 18/18 tests for numpy.core.defmatrix Found 3/3 tests for numpy.core.memmap Found 283/283 tests for numpy.core.multiarray Found 70/70 tests for numpy.core.numeric Found 36/36 tests for numpy.core.numerictypes Found 12/12 tests for numpy.core.records Found 7/7 tests for numpy.core.scalarmath Found 16/16 tests for numpy.core.umath Found 5/5 tests for numpy.ctypeslib Found 5/5 tests for numpy.distutils.misc_util Found 2/2 tests for numpy.fft.fftpack Found 3/3 tests for numpy.fft.helper Found 24/24 tests for numpy.lib._datasource Found 10/10 tests for numpy.lib.arraysetops Found 1/1 tests for numpy.lib.financial Found 0/0 tests for numpy.lib.format Found 53/53 tests for numpy.lib.function_base Found 5/5 tests for numpy.lib.getlimits Found 6/6 tests for numpy.lib.index_tricks Found 15/15 tests for numpy.lib.io Found 1/1 tests for numpy.lib.machar Found 4/4 tests for numpy.lib.polynomial Found 49/49 tests for numpy.lib.shape_base Found 15/15 tests for numpy.lib.twodim_base Found 43/43 tests for numpy.lib.type_check Found 1/1 tests for numpy.lib.ufunclike Found 89/89 tests for numpy.linalg Found 94/94 tests for numpy.ma.core Found 15/15 tests for numpy.ma.extras Found 7/7 tests for numpy.random Found 16/16 tests for numpy.testing.utils Found 0/0 tests for __main__ MKL FATAL ERROR: /opt/intel/mkl/10.0.3.020/lib/32/: cannot read file data: Is a directory To test for an interaction between icc and MKL, I built with gcc (after removing the 1.1.0rc1/build directory): # python setup.py config build_clib build_ext install \ --prefix=/usr/local > build4 $ python Python 2.5 (release25-maint, Dec 9 2006, 14:35:53) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> numpy.test() Numpy is installed in /usr/local/lib/python2.5/site-packages/numpy Numpy version 1.1.0rc1 Python version 2.5 (release25-maint, Dec 9 2006, 14:35:53) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)] Found 18/18 tests for numpy.core.defmatrix Found 3/3 tests for numpy.core.memmap Found 283/283 tests for numpy.core.multiarray Found 70/70 tests for numpy.core.numeric Found 36/36 tests for numpy.core.numerictypes Found 12/12 tests for numpy.core.records Found 7/7 tests for numpy.core.scalarmath Found 16/16 tests for numpy.core.umath Found 5/5 tests for numpy.ctypeslib Found 5/5 tests for numpy.distutils.misc_util Found 2/2 tests for numpy.fft.fftpack Found 3/3 tests for numpy.fft.helper Found 24/24 tests for numpy.lib._datasource Found 10/10 tests for numpy.lib.arraysetops Found 1/1 tests for numpy.lib.financial Found 0/0 tests for numpy.lib.format Found 53/53 tests for numpy.lib.function_base Found 5/5 tests for numpy.lib.getlimits Found 6/6 tests for numpy.lib.index_tricks Found 15/15 tests for numpy.lib.io Found 1/1 tests for numpy.lib.machar Found 4/4 tests for numpy.lib.polynomial Found 49/49 tests for numpy.lib.shape_base Found 15/15 tests for numpy.lib.twodim_base Found 43/43 tests for numpy.lib.type_check Found 1/1 tests for numpy.lib.ufunclike Found 89/89 tests for numpy.linalg Found 94/94 tests for numpy.ma.core Found 15/15 tests for numpy.ma.extras Found 7/7 tests for numpy.random Found 16/16 tests for numpy.testing.utils Found 0/0 tests for __main__ MKL FATAL ERROR: /opt/intel/mkl/10.0.3.020/lib/32/: cannot read file data: Is a directory So why do Erik and I get failures (with both gcc & icc) when MKL is used and you don't? _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion