Compiled numpy with ICC + MKL without passing the full test

I am using the Intel C ++ compiler and Intel MKL to compile numpy 1.8.1 on Debian 7.5. Intel stuff is in Intel® Parallel Studio XE 2013 SP1 for Linux Update 3 . site.cfgabout the same as in the Intel tutorial which

[DEFAULT]
library_dirs = /usr/local/lib:/opt/intel/lib/intel64:/opt/intel/mkl/lib/intel64
include_dirs = /usr/local/include

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

[amd]
amd_libs = amd

[umfpack]
umfpack_libs = umfpack

[fftw]
libraries = fftw3

The change in intelccompiler.pywas done in the class IntelEM64TCCompiler:

self.cc_exe = 'icc -m64 -fPIC -O3 -g -fp-model strict \
                   -fomit-frame-pointer -openmp -xhost -DMKL_ILP64'

and a change in fcompiler/intel.pywas made in the class IntelEM64TFCompiler:

def get_flags_opt(self):
    return ['-i8 -xhost -openmp -fp-model strict']

Building team

python3 setup.py config --compiler=intelem \
                 build_clib --compiler=intelem \
                 build_ext --compiler=intelem \
                 install

In addition, I added

source /opt/intel/bin/iccvars.sh intel64
source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64

before .bashrc.

The compilation went well, and the configuration printed numpy.show_config()was:

lapack_opt_info:
    library_dirs = ['/opt/intel/mkl/lib/intel64/']
    libraries = ['mkl_rt', 'pthread']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/include/']
openblas_info:
  NOT AVAILABLE
blas_opt_info:
    library_dirs = ['/opt/intel/mkl/lib/intel64/']
    libraries = ['mkl_rt', 'pthread']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/include/']
lapack_mkl_info:
    library_dirs = ['/opt/intel/mkl/lib/intel64/']
    libraries = ['mkl_rt', 'pthread']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/include/']
mkl_info:
    library_dirs = ['/opt/intel/mkl/lib/intel64/']
    libraries = ['mkl_rt', 'pthread']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/include/']
blas_mkl_info:
    library_dirs = ['/opt/intel/mkl/lib/intel64/']
    libraries = ['mkl_rt', 'pthread']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/include/']

But on execution, numpy.test('full',verbose=10)he stopped and said that

test_assumed_shape.TestAssumedShapeSumExample.test_all ... Segmentation fault

Any ideas to pass this test? Thank.

+4

Source: https://habr.com/ru/post/1548616/


All Articles