[SciPy-dev] Compiling scipy with Intel ifort & MKL

rex rex at nosyntax.com
Sun Jun 10 20:24:32 EDT 2007


rex <rex at nosyntax.com> [2007-06-10 16:12]:
> rex <rex at nosyntax.com> [2007-06-10 13:37]:
> > Using recent svn SciPy:
> > 
> > /usr/local/src/scipy # python setup.py config --compiler=intel --fcompiler=intel build_clib --compiler=intel --fcompiler=intel build_ext --compiler=intel --fcompiler=intel install
> 
> I get the same errors when using the gcc compiler, which is a strong
> hint that blas and lapack need to be installed. Duh! Doing that now...

It still fails with:
error: file 'dfftpack/*.f' does not exist
Details are below.

This is with SUSE 10.2 Intel MKL9.1, & Intel FORTRAN 10

I followed Steve Baum's instructions at:

http://pong.tamu.edu/tiki/tiki-view_blog_post.php?blogId=6&postId=97

cd scipy       #recent svn
mkdir -p blas
cd blas
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
#this results in a blas/BLAS/*.f directory structure. I moved all files
#up into the blas directory and eliminated the BLAS subdirectory.

Instead of:
#g77 -fno-second-underscore -O2 -c *.f

ifort -fno-second-underscore -c -xT -fast *.f
ifort: command line warning #10006: ignoring unknown option '-fno-second-underscore'
#this ignored option may need to be fixed, but I think not.
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
cp libfblas.a /usr/local/lib
export BLAS=/usr/local/lib/libfblas.a
cd ..
wget http://www.netlib.org/lapack/lapack.tgz
tar xzf lapack.tgz
cd LAPACK
cp INSTALL/make.inc.LINUX make.inc

Now you must edit make.inc and change (if necessary) the following values:

#FORTRAN  = g77
FORTRAN  = ifort
#OPTS     = -funroll-all-loops -O3
OPTS     = -xT -funroll-all-loops -fast
DRVOPTS  = $(OPTS)
NOOPT    =
#LOADER   = g77
LOADER  = ifort

Now to finish the compilation:

make lapacklib >& make.log 
make clean
cp lapack_LINUX.a libflapack.a
cp libflapack.a /usr/local/lib
export LAPACK=/usr/local/lib/libflapack.a
cd ..

python setup.py config --compiler=intel --fcompiler=intel build_clib --compiler=intel --fcompiler=intel build_ext --compiler=intel --fcompiler=intel install >& inst.log

non-existing path in 'scipy/cluster': 'tests'
non-existing path in 'scipy/cluster': 'src/vq_wrap.cpp'
mkl_info:
  FOUND:
    libraries = ['mkl', 'vml', 'guide', 'pthread']
    library_dirs = ['/opt/intel/mkl/9.1/lib/32']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/9.1/include']

non-existing path in 'scipy/fftpack': 'tests'
could not resolve pattern in 'scipy/fftpack': 'dfftpack/*.f'
non-existing path in 'scipy/fftpack': 'fftpack.pyf'
non-existing path in 'scipy/fftpack': 'src/zfft.c'
non-existing path in 'scipy/fftpack': 'src/drfft.c'
non-existing path in 'scipy/fftpack': 'src/zrfft.c'
non-existing path in 'scipy/fftpack': 'src/zfftnd.c'
non-existing path in 'scipy/fftpack': 'src/zfft_djbfft.c'
non-existing path in 'scipy/fftpack': 'src/zfft_fftpack.c'
non-existing path in 'scipy/fftpack': 'src/zfft_fftw.c'
non-existing path in 'scipy/fftpack': 'src/zfft_fftw3.c'
non-existing path in 'scipy/fftpack': 'src/zfft_mkl.c'
non-existing path in 'scipy/fftpack': 'convolve.pyf'
non-existing path in 'scipy/fftpack': 'src/convolve.c'
blas_opt_info:
blas_mkl_info:
  FOUND:
    libraries = ['mkl', 'vml', 'guide', 'pthread']
    library_dirs = ['/opt/intel/mkl/9.1/lib/32']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/9.1/include']

  FOUND:
    libraries = ['mkl', 'vml', 'guide', 'pthread']
    library_dirs = ['/opt/intel/mkl/9.1/lib/32']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/opt/intel/mkl/9.1/include']

...

customize IntelFCompiler
Couldn't match compiler version for 'Intel(R) Fortran Compiler for applications running on IA-32, Version 10.0    Build 20070426 Package ID:
+l_fc_p_10.0.023\nCopyright (C) 1985-2007 Intel Corporation.  All rights reserved.\nFOR NON-COMMERCIAL USE ONLY\n\n Intel Fortran 10.0-1023'
customize IntelFCompiler using build_clib
building 'dfftpack' library
compiling Fortran sources
Fortran f77 compiler: /opt/intel/fc/10.0.023/bin/ifort -72 -w90 -w95 -KPIC -cm -O3 -unroll -xM -arch SSE2
Fortran f90 compiler: /opt/intel/fc/10.0.023/bin/ifort -FR -KPIC -cm -O3 -unroll -xM -arch SSE2
Fortran fix compiler: /opt/intel/fc/10.0.023/bin/ifort -FI -KPIC -cm -O3 -unroll -xM -arch SSE2
error: file 'dfftpack/*.f' does not exist

It does exist as you can see:

/usr/local/src/scipy/Lib/fftpack/dfftpack # ls
dcosqb.f  dcost.f   dfftb.f   dffti1.f  doc.double  dsinqi.f  dsinti.f  zfftb.f   zffti1.f
dcosqf.f  dcosti.f  dfftf1.f  dffti.f   dsinqb.f    dsint1.f  .svn      zfftf1.f  zffti.f
dcosqi.f  dfftb1.f  dfftf.f   doc       dsinqf.f    dsint.f   zfftb1.f  zfftf.f

Again, any hints appreciated.

-rex






More information about the SciPy-Dev mailing list