Package Details: python-numpy-mkl 1.12.0-3

Git Clone URL: https://aur.archlinux.org/python-numpy-mkl.git (read-only)
Package Base: python-numpy-mkl
Description: Scientific tools for Python compiled with intel mkl
Upstream URL: http://numpy.scipy.org/
Keywords: numpy
Licenses: custom
Conflicts: python-numpy, python3-numpy
Provides: python-numpy=1.12.0, python3-numpy=1.12.0
Replaces: python3-numpy
Submitter: bred
Maintainer: bred
Last Packager: bred
Votes: 21
Popularity: 0.324125
First Submitted: 2012-08-25 16:55
Last Updated: 2017-02-11 19:48

Required by (290)

Sources (7)

Latest Comments

gwaterst commented on 2017-02-23 12:23

Compiling numpy with ifort and optimization -O2 or -O3 leads to scipy not passing tests (this is still present with the most recent software versions).

It can be tried i a python session:
In [1]: import scipy

In [2]: scipy.test('test_multi')
Running unit tests for scipy
NumPy version 1.12.0
NumPy relaxed strides checking option: True
NumPy is installed in /usr/lib/python3.6/site-packages/numpy
SciPy version 0.18.1
SciPy is installed in /usr/lib/python3.6/site-packages/scipy
Python version 3.6.0 (default, Jan 16 2017, 12:12:55) [GCC 6.3.1 20170109]
nose version 1.3.7
/usr/lib/python3.6/importlib/_bootstrap.py:205: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
return f(*args, **kwds)
./usr/lib/python3.6/site-packages/scipy/io/tests/test_fortran.py:20: DeprecationWarning: invalid escape sequence \d
m = re.search('fortran-([^-]+)-(\d+)x(\d+)x(\d+).dat', filename, re.I)
/usr/lib/python3.6/site-packages/scipy/io/tests/test_fortran.py:51: DeprecationWarning: invalid escape sequence \d
m = re.search('fortran-([^-]+)-(\d+)x(\d+)x(\d+).dat', filename, re.I)
....FFF......../usr/lib/python3.6/site-packages/scipy/sparse/tests/test_sparsetools.py:326: DeprecationWarning: invalid escape sequence \s
m = re.search('VmRSS:\s*(\d+)\s*kB', procdata, re.S | re.I)
/usr/lib/python3.6/site-packages/scipy/stats/tests/test_distributions.py:2724: DeprecationWarning: invalid escape sequence \(
res = re.findall('logpdf\(x, a, loc=0, scale=1\)',
/usr/lib/python3.6/site-packages/scipy/stats/tests/test_distributions.py:2734: DeprecationWarning: invalid escape sequence \(
res = re.findall('logpdf\(x, a, b, loc=0, scale=1\)',
/usr/lib/python3.6/site-packages/scipy/stats/tests/test_distributions.py:2771: DeprecationWarning: invalid escape sequence \s
badones = [',\s*,', '\(\s*,', '^\s*:']
/usr/lib/python3.6/site-packages/scipy/stats/tests/test_distributions.py:2771: DeprecationWarning: invalid escape sequence \(
badones = [',\s*,', '\(\s*,', '^\s*:']

======================================================================
FAIL: test_lorentz (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/scipy/odr/tests/test_odr.py", line 315, in test_lorentz
3.7798193600109009e+00]),
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 979, in assert_array_almost_equal
precision=decimal)
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 796, in assert_array_compare
raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
x: array([ 1.000000e+03, 1.000000e-01, 3.800000e+00])
y: array([ 1.430678e+03, 1.339051e-01, 3.779819e+00])

======================================================================
FAIL: test_multi (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/scipy/odr/tests/test_odr.py", line 212, in test_multi
0.5101147161764654, 0.5173902330489161]),
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 979, in assert_array_almost_equal
precision=decimal)
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 796, in assert_array_compare
raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
x: array([ 4. , 2. , 7. , 0.4, 0.5])
y: array([ 4.379988, 2.433306, 8.002885, 0.510115, 0.51739 ])

======================================================================
FAIL: test_pearson (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/scipy/odr/tests/test_odr.py", line 258, in test_pearson
np.array([5.4767400299231674, -0.4796082367610305]),
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 979, in assert_array_almost_equal
precision=decimal)
File "/usr/lib/python3.6/site-packages/numpy/testing/utils.py", line 796, in assert_array_compare
raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
x: array([ 1., 1.])
y: array([ 5.47674 , -0.479608])

----------------------------------------------------------------------
Ran 16 tests in 4.858s

FAILED (failures=3)
Out[2]: <nose.result.TextTestResult run=16 errors=0 failures=3>

The error is documented here:
https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/505993
and here:
https://github.com/scipy/scipy/issues/3340

Apart from not passing the tests, I also had problems with numerical prescision in functions loke scipy.linalg.solve etc.

Accordingly I vote for setting -O1 in intel.py on line 64 (I, personally did not notice a change in performance)

gergi commented on 2017-02-07 14:09

Add dependency 'cython'.

tsumina commented on 2017-01-20 07:15

@ricrogz you can try to make a symbol link of /opt/intel/mkl to /opt/intel/composerxe/mkl and this should work.

ricrogz commented on 2016-10-16 11:07

As @bear mentioned, the current intel-mkl installs to a different path than mentioned in the site*.cfg files (/opt/intel/mkl instead of /opt/intel/composerxe/mkl).

Due to this, the package, as it is right now, is compiling *without* mkl support.

matrs commented on 2016-03-05 05:37

I did the changes suggested by @bear in the site files(hint: edit site files and install using --skipinteg) and it found the mkl library which previously didn't (FOUND: libraries = ['mkl_rt', 'pthread']). The thing is that if you dont make those changes it doesn't found the mkl library and still builds, so it's easy to believe that everything is working but your numpy is using another blas library.

liubenyuan commented on 2016-02-26 04:51

@bear

Thanks ! It works.

BTW, when compile, -openmp may be deprecated, it suggests using -qopenmp

bear commented on 2016-02-25 18:07

The site.cfg is not correct, after changed to the following, can import correctly after installed.

[mkl]
library_dirs = /opt/intel/mkl/lib/intel64
include_dirs = /opt/intel/mkl/include
mkl_libs = mkl_rt
lapack_libs =

liubenyuan commented on 2016-02-25 14:44

and can this package be compiled using -iopm5 instead of -openmp ?

liubenyuan commented on 2016-02-25 14:32

@trovao

Thanks ! I install the patchelfmod in aur (this package needs update, for example the pkgname is patchelfmod however the source dir is patchelf), and numpy.test() works fine.

and i think a patch in linking to libirc.so is needed :)

anyway, thanks for your solution !

liubenyuan commented on 2016-02-25 14:18

@trovao

I can only find patchelf in my archlinux, where could I get patchelfmod ?

BTW: I also tried to add -lirc in LDFLAGS, is it correct to do so?

All comments