[Numpy-discussion] 1.1.0rc1 tagged
rex
rex at nosyntax.com
Sun May 18 07:20:37 EDT 2008
Jarrod Millman <millman at berkeley.edu> wrote:
>Please test the release candidate:
>svn co http://svn.scipy.org/svn/numpy/tags/1.1.0rc1 1.1.0rc1
With icc & MKL it fails to find the MKL libraries.
site.cfg:
----------------------------------------------------------
[DEFAULT]
library_dirs = /opt/intel/mkl/10.0.3.020/lib/32
include_dirs = /opt/intel/mkl/10.0.3.020/10.0.3.020/include
[mkl]
library_dirs = /opt/intel/mkl/10.0.3.020/lib/32
lapack_libs = mkl, mkl_lapack, guide
----------------------------------------------------------
1.1.0rc1# python setup.py config --compiler=intel build_clib \
--compiler=intel build_ext --compiler=intel install \
--prefix=/usr/local> build0
cat build0
F2PY Version 2_5188
blas_opt_info:
blas_mkl_info:
libraries mkl,vml,guide not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
blas_info:
libraries blas not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
blas_src_info:
NOT AVAILABLE
NOT AVAILABLE
lapack_opt_info:
lapack_mkl_info:
mkl_info:
libraries mkl,vml,guide not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
NOT AVAILABLE
atlas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
libraries lapack_atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
numpy.distutils.system_info.atlas_threads_info
NOT AVAILABLE
atlas_info:
libraries f77blas,cblas,atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
libraries lapack_atlas not found in /opt/intel/mkl/10.0.3.020/lib/32
numpy.distutils.system_info.atlas_info
NOT AVAILABLE
lapack_info:
libraries lapack not found in /opt/intel/mkl/10.0.3.020/lib/32
NOT AVAILABLE
lapack_src_info:
NOT AVAILABLE
NOT AVAILABLE
running config
[...]
------------------------------------------------------------------------------
Without MKL linked it runs the tests perfectly after being
compiled with icc:
-----------------------------------------------------------
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__
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 1004 tests in 0.977s
OK
<unittest._TextTestResult run=1004 errors=0 failures=0>
----------------------------------------------------------------------
However, if distutils/system_info.py is hacked to make it find
MKL, it builds w/o error, but fails the test:
$ 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
------------------------------------------------------------------------------------
As far as MKL goes, we're making negative progress -- I used to be
able to compile a 'good' numpy with icc & MKL that would pass the
unit tests. Now, just with icc, but not with MKL.
FWIW, there are two changes to system_info.py that are required to link MKL.
class lapack_mkl_info(mkl_info):
def calc_info(self):
mkl = get_info('mkl')
if not mkl:
return
if sys.platform == 'win32':
lapack_libs = self.get_libs('lapack_libs',['mkl_lapack'])
else:
lapack_libs = self.get_libs('lapack_libs',['mkl_lapack32','mkl_lapack64'])
info = {'libraries': lapack_libs}
dict_append(info,**mkl)
self.set_info(**info)
This will fail because all 3 MKL versions (since version 9.x)
have a common name: mkl_lapack
The other change is vml. From reading the Intel examples, I think
(but could be wrong) that vml doesn't need to be explicitly
linked to get its functionality, but mkl_lapack does. This requires
changing:
class mkl_info(system_info):
section = 'mkl'
dir_env_var = 'MKL'
_lib_mkl = ['mkl','vml','guide']
to:
class mkl_info(system_info):
section = 'mkl'
dir_env_var = 'MKL'
_lib_mkl = ['mkl','mkl_lapack','guide']
After these two changes are made, MKL is used (with my site.cfg),
but the result is a numpy that fails the unit tests spectacularly.
-rex
--
"Generally intelligence has no effect on conclusions, which are glandularly
determined. It just rationalizes hormonal inevitabilities." --Fred Reed
More information about the NumPy-Discussion
mailing list