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.