Building NumPy and SciPy with Intel Composer 2013 and the MKL

Since Python is widely used as a high-productivity language for scientific computing, Intel has created a page showing how to build NumPy with Intel compilers and the Math Kernel Library (MKL). I would like to clarify a few items regarding building NumPy on a 64-bit Red Hat Enterprise Linux 5.4 system. Since this is a production system, I don’t want to replace the Python 2.4 binary -2.7.3-intel-composer-2013that ships with RHEL 5.4. Instead, I created a directory called

/apps/python/python/-2.7.3-intel-composer-2013

and set

PYTHONPATH=/apps/python/python-2.7.3-intel-composer-2013
LD_LIBRARY_PATH=/apps/python/python-2.7.3-intel-composer-2013/lib:$LD_LIBRARY_PATH

NumPy

The Intel guide is a good starting point for building NumPy. The modifications that Intel suggests for the file site.cfg also with Composer 2013. However, you also have to modify several Python files in the distribution, and this is where the guide gets confusing. You need to edit the class of the file that corresponds to the command-line flags you will use to build NumPy. For example, if you have a 64-bit system (not an Itanium), you should modify the class IntelEM64TCCompiler to look like this:

# File numpy-1.6.2/numpy/distutils/intelccompiler.py
class IntelEM64TCCompiler(UnixCCompiler):
    """ A modified Intel x86_64 compiler compatible with a 64bit gcc built Python.
    """
    compiler_type = 'intelem'
    cc_exe = 'icc -m64 -fPIC'
    cc_args = "-fPIC"
    def __init__ (self, verbose=0, dry_run=0, force=0):
        UnixCCompiler.__init__ (self, verbose,dry_run, force)
        self.cc_exe = 'icc -m64 -O3 -g -fPIC -fp-model strict -fomit-frame-pointer -openmp -xhost'
        compiler = self.cc_exe
        self.set_executables(compiler=compiler,
                             compiler_so=compiler,
                             compiler_cxx=compiler,
                             linker_exe=compiler,
                             linker_so=compiler + ' -shared')

You also need to modify the compiler script for Intel Fortran. Once again, the modifications below are for a 64-bit system.

# numpy-1.6.2/numpy/distutils/fcompiler/intel.py
class IntelEM64TFCompiler(IntelFCompiler):
    compiler_type = 'intelem'
    compiler_aliases = ()
    description = 'Intel Fortran Compiler for 64-bit apps'
    version_match = intel_version_match('EM64T-based|Intel\(R\) 64|64|IA-64|64-bit')
    possible_executables = ['ifort', 'efort', 'efc']
    executables = {
        'version_cmd'  : None,
        'compiler_f77' : [None, "-FI", "-w90", "-w95"],
        'compiler_fix' : [None, "-FI"],
        'compiler_f90' : [None],
        'linker_so'    : ['', "-shared"],
        'archiver'     : ["ar", "-cr"],
        'ranlib'       : ["ranlib"]
        }
    def get_flags_arch(self):
        opt = ['-O3', '-openmp', '-fp-model strict', '-fPIC']
        if cpu.is_PentiumIV() or cpu.is_Xeon():
            opt.extend(['-tpp7', '-xW'])
        return opt

After making these modifications, run the commands:

python setup.py config --compiler=intelem --fcompiler=intelem
python setup.py build --compiler=intelem --fcompiler=intelem
python setup.py install

The way I have my system configured, the packages were automatically installed into

/apps/python/python-2.7.3-intel-composer-2013/lib/python2.7/site-packages

SciPy

Once you have built NumPy, SciPy is easily built because it uses the site.cfg file from NumPy:

python setup.py config --compiler=intelem --fcompiler=intelem
python setup.py build --compiler=intelem --fcompiler=intelem
python setup.py install

Warnings about umfpack can be safely ignored if you don’t have umfpack installed.

4 thoughts on “Building NumPy and SciPy with Intel Composer 2013 and the MKL”

  1. Thanks for the detailed instructions; they were very helpful.
    I have followed this to the letter, substituting python3.2 for python. The config / build / install succeeded and did not report errors.
    Trying to load numpy in python3.2 always gave the error,
    in
    from numpy.linalg import lapack_lite
    ImportError: /usr/local/lib/python3.2/dist-packages/numpy/linalg/lapack_lite.cpython-32mu.so: undefined symbol: zungqr_
    My eventual solution was to get the stock version of numpy:
    sudo apt-get install python3-numpy-dbg
    which probably does not include MKL support but at least I now have numpy.
    One difference is that the dbg package installs numpy-1.8; I wonder if that makes a difference.

  2. William,
    Thank you for the feedback. Were you installing on Ubuntu and, if so, which version? It would also be helpful to know which version of NumPy you tried that didn’t work. How is the numpy3-dbg package different from numpy3?

    1. Yes, I was installing on ubuntu, version 12.04. The version of NumPy for which the build was unsuccessful was 1.6.1; perhaps that was the problem, since I see 1.8 in the directory. No idea what’s in the -dbg package — black box as far as I’m concerned.

  3. I installed numpy-1.7.0 succeed in SuSE 10 SP1 following your instruction. But failed when i run test, shows below:
    ======================================================================
    FAIL: test_einsum_sums_cfloat128 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 476, in test_einsum_sums_cfloat128
    self.check_einsum_sums(‘c16’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6.+0.j, 7.+0.j, 8.+0.j, 9.+0.j, 10.+0.j, 11.+0.j],
    [ 12.+0.j, 14.+0.j, 16.+0.j, 18.+0.j, 20.+0.j, 22.+0.j],
    [ 18.+0.j, 21.+0.j, 24.+0.j, 27.+0.j, 30.+0.j, 33.+0.j],
    [ 24.+0.j, 28.+0.j, 32.+0.j, 36.+0.j, 40.+0.j, 44.+0.j]])
    y: array([[ 6.+0.j, 7.+0.j, 8.+0.j, 9.+0.j, 10.+0.j, 11.+0.j],
    [ 18.+0.j, 23.+0.j, 28.+0.j, 33.+0.j, 38.+0.j, 43.+0.j],
    [ 30.+0.j, 39.+0.j, 48.+0.j, 57.+0.j, 66.+0.j, 75.+0.j],
    [ 42.+0.j, 55.+0.j, 68.+0.j, 81.+0.j, 94.+0.j, 107.+0.j]])
    ======================================================================
    FAIL: test_einsum_sums_cfloat64 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 473, in test_einsum_sums_cfloat64
    self.check_einsum_sums(‘c8’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6.+0.j, 7.+0.j, 8.+0.j, 9.+0.j, 10.+0.j, 11.+0.j],
    [ 12.+0.j, 14.+0.j, 16.+0.j, 18.+0.j, 20.+0.j, 22.+0.j],
    [ 18.+0.j, 21.+0.j, 24.+0.j, 27.+0.j, 30.+0.j, 33.+0.j],
    [ 24.+0.j, 28.+0.j, 32.+0.j, 36.+0.j, 40.+0.j, 44.+0.j]], dtype=complex64)
    y: array([[ 6.+0.j, 7.+0.j, 8.+0.j, 9.+0.j, 10.+0.j, 11.+0.j],
    [ 18.+0.j, 23.+0.j, 28.+0.j, 33.+0.j, 38.+0.j, 43.+0.j],
    [ 30.+0.j, 39.+0.j, 48.+0.j, 57.+0.j, 66.+0.j, 75.+0.j],
    [ 42.+0.j, 55.+0.j, 68.+0.j, 81.+0.j, 94.+0.j, 107.+0.j]], dtype=complex64)
    ======================================================================
    FAIL: test_einsum_sums_clongdouble (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 479, in test_einsum_sums_clongdouble
    self.check_einsum_sums(np.clongdouble);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6.0+0.0j, 7.0+0.0j, 8.0+0.0j, 9.0+0.0j, 10.0+0.0j, 11.0+0.0j],
    [ 12.0+0.0j, 14.0+0.0j, 16.0+0.0j, 18.0+0.0j, 20.0+0.0j,
    22.0+0.0j],…
    y: array([[ 6.0+0.0j, 7.0+0.0j, 8.0+0.0j, 9.0+0.0j, 10.0+0.0j, 11.0+0.0j],
    [ 18.0+0.0j, 23.0+0.0j, 28.0+0.0j, 33.0+0.0j, 38.0+0.0j,
    43.0+0.0j],…
    ======================================================================
    FAIL: test_einsum_sums_float16 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 461, in test_einsum_sums_float16
    self.check_einsum_sums(‘f2’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6., 7., 8., 9., 10., 11.],
    [ 12., 14., 16., 18., 20., 22.],
    [ 18., 21., 24., 27., 30., 33.],
    [ 24., 28., 32., 36., 40., 44.]], dtype=float16)
    y: array([[ 6., 7., 8., 9., 10., 11.],
    [ 18., 23., 28., 33., 38., 43.],
    [ 30., 39., 48., 57., 66., 75.],
    [ 42., 55., 68., 81., 94., 107.]], dtype=float16)
    ======================================================================
    FAIL: test_einsum_sums_float32 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 464, in test_einsum_sums_float32
    self.check_einsum_sums(‘f4’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6., 7., 8., 9., 10., 11.],
    [ 12., 14., 16., 18., 20., 22.],
    [ 18., 21., 24., 27., 30., 33.],
    [ 24., 28., 32., 36., 40., 44.]], dtype=float32)
    y: array([[ 6., 7., 8., 9., 10., 11.],
    [ 18., 23., 28., 33., 38., 43.],
    [ 30., 39., 48., 57., 66., 75.],
    [ 42., 55., 68., 81., 94., 107.]], dtype=float32)
    ======================================================================
    FAIL: test_einsum_sums_int16 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 443, in test_einsum_sums_int16
    self.check_einsum_sums(‘i2’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=int16)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=int16)
    ======================================================================
    FAIL: test_einsum_sums_int32 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 449, in test_einsum_sums_int32
    self.check_einsum_sums(‘i4’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=int32)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=int32)
    ======================================================================
    FAIL: test_einsum_sums_int64 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 455, in test_einsum_sums_int64
    self.check_einsum_sums(‘i8’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]])
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]])
    ======================================================================
    FAIL: test_einsum_sums_int8 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 437, in test_einsum_sums_int8
    self.check_einsum_sums(‘i1’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=int8)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=int8)
    ======================================================================
    FAIL: test_einsum_sums_longdouble (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 470, in test_einsum_sums_longdouble
    self.check_einsum_sums(np.longdouble);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6.0, 7.0, 8.0, 9.0, 10.0, 11.0],
    [ 12.0, 14.0, 16.0, 18.0, 20.0, 22.0],
    [ 18.0, 21.0, 24.0, 27.0, 30.0, 33.0],
    [ 24.0, 28.0, 32.0, 36.0, 40.0, 44.0]], dtype=float128)
    y: array([[ 6.0, 7.0, 8.0, 9.0, 10.0, 11.0],
    [ 18.0, 23.0, 28.0, 33.0, 38.0, 43.0],
    [ 30.0, 39.0, 48.0, 57.0, 66.0, 75.0],
    [ 42.0, 55.0, 68.0, 81.0, 94.0, 107.0]], dtype=float128)
    ======================================================================
    FAIL: test_einsum_sums_uint16 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 446, in test_einsum_sums_uint16
    self.check_einsum_sums(‘u2’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=uint16)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=uint16)
    ======================================================================
    FAIL: test_einsum_sums_uint32 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 452, in test_einsum_sums_uint32
    self.check_einsum_sums(‘u4’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=uint32)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=uint32)
    ======================================================================
    FAIL: test_einsum_sums_uint64 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 458, in test_einsum_sums_uint64
    self.check_einsum_sums(‘u8’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=uint64)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=uint64)
    ======================================================================
    FAIL: test_einsum_sums_uint8 (test_einsum.TestEinSum)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 440, in test_einsum_sums_uint8
    self.check_einsum_sums(‘u1’);
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_einsum.py”, line 330, in check_einsum_sums
    b.astype(‘f8′)).astype(dtype))
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 75.0%)
    x: array([[ 6, 7, 8, 9, 10, 11],
    [12, 14, 16, 18, 20, 22],
    [18, 21, 24, 27, 30, 33],
    [24, 28, 32, 36, 40, 44]], dtype=uint8)
    y: array([[ 6, 7, 8, 9, 10, 11],
    [ 18, 23, 28, 33, 38, 43],
    [ 30, 39, 48, 57, 66, 75],
    [ 42, 55, 68, 81, 94, 107]], dtype=uint8)
    ======================================================================
    FAIL: test_identityless_reduction_noncontig_unaligned (test_ufunc.TestUfunc)
    ———————————————————————-
    Traceback (most recent call last):
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_ufunc.py”, line 668, in test_identityless_reduction_noncontig_unaligned
    self.check_identityless_reduction(a)
    File “/usr/local/lib64/python2.4/site-packages/numpy/core/tests/test_ufunc.py”, line 608, in check_identityless_reduction
    assert_equal(np.minimum.reduce(a, axis=(0,2)), [0,1,1])
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 257, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 719, in assert_array_equal
    verbose=verbose, header=’Arrays are not equal’)
    File “/public/src/Mathlib/numpy-1.7.0/build/lib.linux-x86_64-2.4/numpy/testing/utils.py”, line 645, in assert_array_compare
    raise AssertionError(msg)
    AssertionError:
    Arrays are not equal
    (mismatch 33.3333333333%)
    x: array([ 1., 1., 1.])
    y: array([0, 1, 1])
    ———————————————————————-
    Ran 4792 tests in 32.603s
    FAILED (KNOWNFAIL=6, SKIP=5, failures=15)
    ================================================
    I reinstalled it again by using gfortran, but failed still when i test it.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.