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.937723
First Submitted: 2012-08-25 16:55
Last Updated: 2017-02-11 19:48

Required by (278)

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?

trovao commented on 2016-02-25 11:51

@liubenyuan, @benob

I've solved this with patchelfmod by adding a dependency explicitly on the shared object files:

$ sudo patchelfmod -a libirc.so /usr/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so
sudo patchelfmod -a libirc.so /usr/lib/python3.5/site-packages/numpy/linalg/_umath_linalg.cpython-35m-x86_64-linux-gnu.so

I've tried tweaking the intelccompiler.py to include -lirc, but it seems my flags weren't enough.

liubenyuan commented on 2016-02-25 02:20

@benob

same problem here. using intel-mkl 2016.1.30

benob commented on 2015-07-14 09:51

Installs fine with intel parallel studio xe 2015, but when I import numpy I get the following error:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
from . import add_newdocs
File "/usr/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
from .polynomial import *
File "/usr/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
from numpy.linalg import eigvals, lstsq, inv
File "/usr/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module>
from .linalg import *
File "/usr/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
from numpy.linalg import lapack_lite, _umath_linalg
ImportError: /usr/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so: undefined symbol: _intel_fast_memset

Preloading the libirc.so library fixes the problem, but I would like a better solution.
LD_PRELOAD=/opt/intel/composer_xe_2015.3.187/compiler/lib/intel64/libirc.so python2

gilli commented on 2014-11-14 17:10

My installation failed because intel-fortran-compiler and intel-compiler-base targets havn't been found.

I guess this is a dependency issue.

bred commented on 2013-11-15 08:34

The conflicts are solved automatically by pacman.
python-numpy (form extra) will be removed automatically.

enedene commented on 2013-11-14 16:06

When installing python-numpy-mkl, do I need to remove the python-numpy from extra repository first? Are there conflicts? Or is it all done automatically?

bred commented on 2013-11-12 17:31

Note:
This Pkg must be compiled in couple with intel parallel studio:
https://aur.archlinux.org/packages/intel-parallel-studio-xe/

bred commented on 2013-11-08 14:53

Yes is still maintained.
But I've never seen the patch.

I'll fix the problem shorter:
http://www.scipy.org/scipylib/building/linux.html#intel-mkl-11-0-updated-dec-2012

iosonofabio commented on 2013-11-08 12:36

Is this package still maintained? Are the changes suggested by spleach going to be included?

Thanks!

spleach commented on 2013-09-10 21:01

Some of the dependencies in the PKGBUILD seem unnecessary.. The distribute dependencies should instead be replaced with setuptools, which are in the [extra] repo, whereas the python[2]-distribute packages in `depends` aren't available via pacman or the AUR.

Also, nose packages are also only required for testing, not for packaging, so should be listed either in `optdepends` or `checkdepends`.

Finally, on x86_64 systems, setup.py should be passed `--compiler=intelem` instead of `--compiler=intel`. I'll attach a patch in a minute...

jdarch commented on 2013-09-08 08:53

I can understand one might want to use Intel's compiler suite in addition to the MKL, but would a dependency on 'intel-mkl' not suffice for a minimal 'python-numpy-mkl'-package?

Anonymous comment on 2013-07-23 10:02

numpy-1.7.1 is out.

bred commented on 2013-02-17 09:46

For this PKGBUILD you must use the imtel-mkl and intel-compilers provided in the Intel parallel studio XE:

See:
https://aur.archlinux.org/packages.php?ID=56337

Nabobalis commented on 2012-10-05 12:10

Thanks for this. So does this create a python 2 and 3 version of numpy with mkl?

bred commented on 2012-10-03 06:28

Edit this line in the PKGBUILD

pkgname=('python-numpy-mkl')
true && pkgname=( 'python2-numpy-mkl') <<<<<< !!!

Remove 'python-numpy-mkl 'from the list.

kuantkid commented on 2012-10-03 06:17

There is one error here:
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/include -I/usr/include/python2.7 -c'
icc: _configtest.c
icc -O3 -fPIC -fp-model strict -fomit-frame-pointer -openmp -xHost -w _configtest.o -o _configtest
ld: cannot find -limf
ld: cannot find -lsvml
ld: cannot find -lipgo
ld: cannot find -ldecimal
ld: cannot find -liomp5
ld: cannot find -lirc
ld: cannot find -limf
ld: cannot find -lsvml
ld: cannot find -lipgo
ld: cannot find -ldecimal
ld: cannot find -liomp5
ld: cannot find -lirc

kuantkid commented on 2012-10-03 05:40

How can I just build python2-numpy-mkl without installing python3 and related dependences?

bred commented on 2012-09-17 19:00

For this PKGBUILD you must use the imtel-mkl provided in the Intel parallel studio XE:

https://aur.archlinux.org/packages.php?ID=56337