Machine specific configure scripts: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
Line 32: Line 32:
===HLRN===
===HLRN===


=== Leonardo @ CINECA ===
To do ..


=== EURORA @ CINECA ===
=== EURORA @ CINECA ===
Line 37: Line 40:
EURORA is a hybrid supercomputer, with Intel Xeon andyBridge processors and GPU NVIDIA Tesla K20 accelerators
EURORA is a hybrid supercomputer, with Intel Xeon andyBridge processors and GPU NVIDIA Tesla K20 accelerators


  <nowiki>
  module load autoload/0.1 intel/cs-xe-2013--binary intelmpi/4.1.0--binary mkl/11.0.1--binary gnu/4.6.3 cuda/5.0.35 qe/5.0.3 netcdf/4.1.3--intel--cs-xe-2013--binary hdf5/1.8.9_ser--intel--cs-xe-2013--binary szip/2.1--gnu--4.6.3 zlib/1.2.7--gnu--4.6.3
module load autoload/0.1 intel/cs-xe-2013--binary intelmpi/4.1.0--binary mkl/11.0.1--binary gnu/4.6.3 cuda/5.0.35 qe/5.0.3 netcdf/4.1.3--intel--cs-xe-2013--binary hdf5/1.8.9_ser--intel-
./configure --with-p2y=5.0 \
-cs-xe-2013--binary szip/2.1--gnu--4.6.3 zlib/1.2.7--gnu--4.6.3
--with-iotk=/cineca/prod/build/applications/qe/5.0.3/cuda--5.0.35/BA_WORK/espresso-5.0.3/iotk/ \
./configure --with-p2y=5.0 \
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/lib/ \
--with-iotk=/cineca/prod/build/applications/qe/5.0.3/cuda--5.0.35/BA_WORK/espresso-5.0.3/iotk/ \
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/include \
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/lib/ \
--with-netcdf-link="-L/cineca/prod/libraries/hdf5/1.8.9_ser/intel--cs-xe-2013--binary/lib -L/cineca/prod/libraries/szip/2.1/gnu--4.6.3/lib -lhdf5_fortran -lhdf5_hl -lhdf5 -lnetcdff -lnetcdf -lcurl -lsz -lz"
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/include \
--with-netcdf-link="-L/cineca/prod/libraries/hdf5/1.8.9_ser/intel--cs-xe-2013--binary/lib -L/cineca/prod/libraries/szip/2.1/gnu--4.6.3/lib -lhdf5_fortran -lhdf5_hl -lhdf5 -lnetcdff -lnetcdf -lcurl -lsz -lz"
</nowiki>


=== IBM AIX and xlf (SP6, CINECA) ===
=== IBM AIX and xlf (SP6 @ CINECA) ===


Linking with netCDF, PWscf, FFTW.
Linking with netCDF, PWscf, FFTW. Production runs
Production runs
  export CPP=cpp  
 
export CC=xlc_r
  <nowiki>
export F77=xlf_r
export CPP=cpp  
export FC=xlf90_r
export CC=xlc_r
export FCFLAGS='-O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f'
export F77=xlf_r
./configure --build=powerpc-ibm --with-fftw=/cineca/prod/libraries/fftw/3.2.2/xl--10.1/lib  
export FC=xlf90_r
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/lib  
export FCFLAGS='-O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f'
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/include  
./configure --build=powerpc-ibm --with-fftw=/cineca/prod/libraries/fftw/3.2.2/xl--10.1/lib  
--with-iotk=/cineca/prod/build/applications/QuantumESPRESSO/4.1/xl--10.1/BA_WORK/QuantumESPRESSO-4.1/iotk  
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/lib  
--with-p2y=4.0
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/include  
--with-iotk=/cineca/prod/build/applications/QuantumESPRESSO/4.1/xl--10.1/BA_WORK/QuantumESPRESSO-4.1/iotk  
--with-p2y=4.0
</nowiki>


To compile, use GNU make:
To compile, use GNU make:
./gmake yambo interfaces
./gmake yambo interfaces
GNU/Linux: ifort
GNU/Linux: ifort


ifort 11.0 with netCDF and iotk/p2y 4.0 support, serial
ifort 11.0 with netCDF and iotk/p2y 4.0 support, serial  
./configure FC=ifort --with-netcdf-lib=/usr/local/libraries/netcdf/4.0.1/ifort--11.1/lib --with-netcdf-include=
./configure FC=ifort --with-netcdf-lib=/usr/local/libraries/netcdf/4.0.1/ifort--11.1/lib --with-netcdf-include=/usr/local/libraries/netcdf/4.0.1/ifort--11.1/include --with-iotk=/opt/espresso/4.1.2/iotk/ --with-p2y=4.0 --with-blacs=no
/usr/local/libraries/netcdf/4.0.1/ifort--11.1/include --with-iotk=/opt/espresso/4.1.2/iotk/ --with-p2y=4.0 --with-blacs=no
BLAS, LAPACK and FFTW linked using the mkl libraries


The correct linking path can be found here (thanks to Giovanni Pizzi for this!!!). A typical configure command line that can be used to link the mkl BLAS, LAPACK and FFTW is
A typical configure command line that can be used to link the mkl BLAS, LAPACK and FFTW is (thanks to Giovanni Pizzi for this!)
./configure FC=ifort \
--with-blas="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-lapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-blacs="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-scalapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-fftw="/opt/intel/Compiler/11.1/073/mkl/lib/em64t/" \
--with-fftw-lib="-lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \


<nowiki>
./configure FC=ifort \
--with-blas="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-lapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-blacs="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-scalapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-fftw="/opt/intel/Compiler/11.1/073/mkl/lib/em64t/" \
--with-fftw-lib="-lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
</nowiki>
Production runs
Production runs
FCFLAGS='-O3 -xW -tpp7 -assume bscc -nofor_main'
LDFLAGS='-xW' --with-blacs=no
./configure FC=mpif90


FCFLAGS='-O3 -xW -tpp7 -assume bscc -nofor_main'
LDFLAGS='-xW' --with-blacs=no
./configure FC=mpif90
Debugging runs
Debugging runs
./configure --enable-debug FC=mpif90 CFLAGS='-O0 -g' FCFLAGS='-O0 -tpp7 -C -check noarg_temp_created -w90 -w95  -assume bscc -nofor_main -g' --with-blacs=no


./configure --enable-debug FC=mpif90 CFLAGS='-O0 -g'
Debugging runs (GNU/Linux: g95)
FCFLAGS='-O0 -tpp7 -C -check noarg_temp_created -w90 -w95
./configure FC=g95 FCFLAGS='-O0 -fbackslash -g' CFLAGS='-O0 -g -Dextcus -Dextfus' CC=gcc --with-blacs=no
-assume bscc -nofor_main -g' --with-blacs=no
GNU/Linux: g95
 
Debugging runs
 
./configure FC=g95 FCFLAGS='-O0 -fbackslash -g' CFLAGS='-O0 -g -Dextcus -Dextfus' CC=gcc --with-blacs=no
Production runs


Production runs (GNU/Linux: g95)
./configure FC=g95 FCFLAGS="-O3 -fbackslash -fno-second-underscore"
./configure FC=g95 FCFLAGS="-O3 -fbackslash -fno-second-underscore"
GNU/Linux: gfortran
GNU/Linux: gfortran


Debugging runs
Debugging runs
./configure --enable-debug --without-mpi FC=gfortran FCFLAGS='-O0 -g -fbounds-check' CFLAGS='-O0 -g -Dextcus -Dextfus'  CC=gcc --with-blacs=no


./configure --enable-debug --without-mpi FC=gfortran
FCFLAGS='-O0 -g -fbounds-check' CFLAGS='-O0 -g -Dextcus -Dextfus'
CC=gcc --with-blacs=no
GNU/Linux: PGI Fortran
GNU/Linux: PGI Fortran
./configure FC=pgf95


./configure FC=pgf95
GNU/Linux: SUN Fortran
GNU/Linux: SUN Fortran
./configure FC=f95


./configure FC=f95
GNU/Linux: Pathscale Fortran
GNU/Linux: Pathscale Fortran
./configure FC=pathf90 PFC=mpif90 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore"


./configure FC=pathf90 PFC=mpif90 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore"
GNU/Linux: Open64 Fortran
GNU/Linux: Open64 Fortran
 
./configure FC=openf95 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore"  
./configure FC=openf95 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore"  
GNU/Linux using xlf
GNU/Linux using xlf, Tested on Mare nostrum (ppc64). Production runs
 
./configure CC=xlc F77=xlf PFC=mpif90 --with-blacs=no
Tested on Mare nostrum (ppc64)
Production runs
 
./configure CC=xlc F77=xlf PFC=mpif90 --with-blacs=no
with NETCDF support
with NETCDF support
 
./configure CC=xlc F77=xlf PFC=mpif90 \
./configure CC=xlc F77=xlf PFC=mpif90 \
  --with-netcdf-include=/gpfs/apps/NETCDF/netcdf-3.6.0_64/include \
  --with-netcdf-include=/gpfs/apps/NETCDF/netcdf-3.6.0_64/include \
  --with-netcdf-lib=/gpfs/apps/NETCDF/netcdf-3.6.0_64/lib --with-blacs=no
  --with-netcdf-lib=/gpfs/apps/NETCDF/netcdf-3.6.0_64/lib --with-blacs=no
Magerit (CeSViMa)


Production runs with NetCDF support
Magerit (CeSViMa). Production runs with NetCDF support
./configure PF90=xlf90_r FC=xlf90_r F77=xlf_r CC=xlc_r CPP="cpp -P" \ --with-blas=/gpfs/apps/BLAS/1.0.0/64/lib/libblas.a --with-lapack=/gpfs/apps/LAPACK/3.0/64/liblapack.a \ --with-netcdf-include=/gpfs/apps/NETCDF/3.6.0/64/include --with-netcdf-lib=/gpfs/apps/NETCDF/3.6.0/64/lib \ --with-fftw=/gpfs/apps/FFTW/3.2/64/lib


./configure PF90=xlf90_r FC=xlf90_r F77=xlf_r CC=xlc_r CPP="cpp -P" \ --with-blas=/gpfs/apps/BLAS/1.0.0/64/lib/libblas.a --with-lapack=/gpfs/apps/LAPACK/3.0/64/liblapack.a \ --with-netcdf-include=/gpfs/apps/NETCDF/3.6.0/64/include --with-netcdf-lib=/gpfs/apps/NETCDF/3.6.0/64/lib \ --with-fftw=/gpfs/apps/FFTW/3.2/64/lib
Default
Default
./configure


./configure  
ACML libraries, Production runs
ACML libraries
./configure --with-blas=$ACMLPATH/libacml.a --with-lapack=$ACMLPATH/libacml.a


Production runs
FFT in ACML not supported yet MKL libraries, Production runs
export MKLROOT=/applis/intel/mkl
export MKLPATH=${MKLROOT}/lib/intel64
export MKLINCLUDE=${MKLROOT}/include
export MKLLIBS="-L${MKLPATH} -I${MKLINCLUDE} -I${MKLINCLUDE}/intel64/lp64 -llapack -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group
                ${MKLPATH}/libmkl_intel_lp64.a ${MKLPATH}/libmkl_sequential.a ${MKLPATH}/libmkl_core.a -Wl,--end-group -lpthread"


./configure --with-blas=$ACMLPATH/libacml.a --with-lapack=$ACMLPATH/libacml.a
./configure FC=ifort F77=ifort --with-blas="$MKLLIBS" --with-lapack="$MKLLIBS"
FFT in ACML not supported yet
MKL libraries
 
Production runs
 
export MKLROOT=/applis/intel/mkl
export MKLPATH=${MKLROOT}/lib/intel64
export MKLINCLUDE=${MKLROOT}/include
export MKLLIBS="-L${MKLPATH} -I${MKLINCLUDE} -I${MKLINCLUDE}/intel64/lp64 -llapack -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group
                ${MKLPATH}/libmkl_intel_lp64.a ${MKLPATH}/libmkl_sequential.a ${MKLPATH}/libmkl_core.a -Wl,--end-group -lpthread"


./configure FC=ifort F77=ifort --with-blas="$MKLLIBS" --with-lapack="$MKLLIBS"
use this page (link to be fixed) to determine the exact library version for your system: Intel MKL Link Line Advisor FFT in MKL are supported through the FFTW interface presents in the latest MKL packages.
use this page to determine the exact library version for your system: Intel MKL Link Line Advisor  
--with-fftw="${MKLROOT}/interfaces/fftw3xf/"  
FFT in MKL are supported through the FFTW interface presents in the latest MKL packages.
--with-fftw-lib="${MKLROOT}/interfaces/fftw3xf/libfftw3xf_intel.a $MKLLIBS"
--with-fftw="${MKLROOT}/interfaces/fftw3xf/"  
--with-fftw-lib="${MKLROOT}/interfaces/fftw3xf/libfftw3xf_intel.a $MKLLIBS"
Copyright ©2008-2017 Andrea Marini

Revision as of 14:39, 9 September 2024

Install on your local machine using internal libraries

The simplest install of yambo is the one using internal libraries and compiled with gfortran. This is useful to test the code on your local machine, or in order to easily follow the yambo tutorials.

You can run the following configure script (named for example yambo_install.sh) which should work for yambo 5.0 on Linux machines:

YAMBO_EXT_LIBS="/user/defined/path/for/internal/libs"

./configure FC=gfortran \
 --with-extlibs-path=$YAMBO_EXT_LIBS \
 --enable-keep-extlibs \
 --enable-time-profile \
 --enable-msgs-comps \
 --enable-keep-src \
 --enable-memory-profile \
 --enable-int-linalg \
 --enable-par-linalg \
 --enable-netcdf-output \
 --enable-slepc-linalg

Preinstalled

The GPL version of Yambo is already installed on different HPC systems around the world, here we report some of them: Niflheim at Technical University of Denmark SP6 at CINECA Arina at SGI at Universidad del Pais Vasco. Core.Sam at University of Pittsburgh.

HPCs

Below are some configure options that have been used in the past. Of course, since compilers and architectures vary a lot, there are no guarantees that they will work on your system. Be particularly careful when specifying FCFLAGS, as you may override settings which are necessary for compilation, e.g. -nofor_main with ifort.

CH: Suggest to list/group these in order of architecture, linux, IBM, Cray, OS/X, etc

HLRN

Leonardo @ CINECA

To do ..

EURORA @ CINECA

EURORA is a hybrid supercomputer, with Intel Xeon andyBridge processors and GPU NVIDIA Tesla K20 accelerators

module load autoload/0.1 intel/cs-xe-2013--binary intelmpi/4.1.0--binary mkl/11.0.1--binary gnu/4.6.3 cuda/5.0.35 qe/5.0.3 netcdf/4.1.3--intel--cs-xe-2013--binary hdf5/1.8.9_ser--intel--cs-xe-2013--binary szip/2.1--gnu--4.6.3 zlib/1.2.7--gnu--4.6.3
./configure --with-p2y=5.0 \
--with-iotk=/cineca/prod/build/applications/qe/5.0.3/cuda--5.0.35/BA_WORK/espresso-5.0.3/iotk/ \
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/lib/ \
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.1.3/intel--cs-xe-2013--binary/include \
--with-netcdf-link="-L/cineca/prod/libraries/hdf5/1.8.9_ser/intel--cs-xe-2013--binary/lib -L/cineca/prod/libraries/szip/2.1/gnu--4.6.3/lib -lhdf5_fortran -lhdf5_hl -lhdf5 -lnetcdff -lnetcdf -lcurl -lsz -lz"

IBM AIX and xlf (SP6 @ CINECA)

Linking with netCDF, PWscf, FFTW. Production runs

export CPP=cpp 
export CC=xlc_r
export F77=xlf_r
export FC=xlf90_r
export FCFLAGS='-O2 -q64 -qstrict -qarch=pwr6 -qtune=pwr6 -qmaxmem=-1 -qsuffix=f=f'
./configure --build=powerpc-ibm --with-fftw=/cineca/prod/libraries/fftw/3.2.2/xl--10.1/lib 
--with-netcdf-lib=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/lib 
--with-netcdf-include=/cineca/prod/libraries/netcdf/4.0.1/xl--10.1/include 
--with-iotk=/cineca/prod/build/applications/QuantumESPRESSO/4.1/xl--10.1/BA_WORK/QuantumESPRESSO-4.1/iotk 
--with-p2y=4.0

To compile, use GNU make:

./gmake yambo interfaces
GNU/Linux: ifort

ifort 11.0 with netCDF and iotk/p2y 4.0 support, serial

./configure FC=ifort --with-netcdf-lib=/usr/local/libraries/netcdf/4.0.1/ifort--11.1/lib --with-netcdf-include=/usr/local/libraries/netcdf/4.0.1/ifort--11.1/include --with-iotk=/opt/espresso/4.1.2/iotk/ --with-p2y=4.0 --with-blacs=no

A typical configure command line that can be used to link the mkl BLAS, LAPACK and FFTW is (thanks to Giovanni Pizzi for this!)

./configure FC=ifort \
--with-blas="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-lapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-blacs="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-scalapack="-L/opt/intel/Compiler/11.1/073/mkl/lib/em64t/ -lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \
--with-fftw="/opt/intel/Compiler/11.1/073/mkl/lib/em64t/" \
--with-fftw-lib="-lmkl_core -lmkl_intel_lp64 -lmkl_sequential" \

Production runs

FCFLAGS='-O3 -xW -tpp7 -assume bscc -nofor_main' 
LDFLAGS='-xW' --with-blacs=no
./configure FC=mpif90

Debugging runs

./configure --enable-debug FC=mpif90 CFLAGS='-O0 -g' FCFLAGS='-O0 -tpp7 -C -check noarg_temp_created -w90 -w95  -assume bscc -nofor_main -g' --with-blacs=no

Debugging runs (GNU/Linux: g95)

./configure FC=g95 FCFLAGS='-O0 -fbackslash -g' CFLAGS='-O0 -g -Dextcus -Dextfus' CC=gcc --with-blacs=no

Production runs (GNU/Linux: g95) ./configure FC=g95 FCFLAGS="-O3 -fbackslash -fno-second-underscore" GNU/Linux: gfortran

Debugging runs

./configure --enable-debug --without-mpi FC=gfortran FCFLAGS='-O0 -g -fbounds-check' CFLAGS='-O0 -g -Dextcus -Dextfus'  CC=gcc --with-blacs=no

GNU/Linux: PGI Fortran

./configure FC=pgf95

GNU/Linux: SUN Fortran

./configure FC=f95

GNU/Linux: Pathscale Fortran

./configure FC=pathf90 PFC=mpif90 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore"

GNU/Linux: Open64 Fortran

./configure FC=openf95 FCFLAGS="-fno-second-underscore" UFFLAGS="-fno-second-underscore" 

GNU/Linux using xlf, Tested on Mare nostrum (ppc64). Production runs

./configure CC=xlc F77=xlf PFC=mpif90 --with-blacs=no

with NETCDF support

./configure CC=xlc F77=xlf PFC=mpif90 \
--with-netcdf-include=/gpfs/apps/NETCDF/netcdf-3.6.0_64/include \
--with-netcdf-lib=/gpfs/apps/NETCDF/netcdf-3.6.0_64/lib --with-blacs=no

Magerit (CeSViMa). Production runs with NetCDF support

./configure PF90=xlf90_r FC=xlf90_r F77=xlf_r CC=xlc_r CPP="cpp -P" \ --with-blas=/gpfs/apps/BLAS/1.0.0/64/lib/libblas.a --with-lapack=/gpfs/apps/LAPACK/3.0/64/liblapack.a \ --with-netcdf-include=/gpfs/apps/NETCDF/3.6.0/64/include --with-netcdf-lib=/gpfs/apps/NETCDF/3.6.0/64/lib \ --with-fftw=/gpfs/apps/FFTW/3.2/64/lib

Default

./configure 

ACML libraries, Production runs

./configure --with-blas=$ACMLPATH/libacml.a --with-lapack=$ACMLPATH/libacml.a

FFT in ACML not supported yet MKL libraries, Production runs

export MKLROOT=/applis/intel/mkl
export MKLPATH=${MKLROOT}/lib/intel64
export MKLINCLUDE=${MKLROOT}/include
export MKLLIBS="-L${MKLPATH} -I${MKLINCLUDE} -I${MKLINCLUDE}/intel64/lp64 -llapack -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group 
               ${MKLPATH}/libmkl_intel_lp64.a ${MKLPATH}/libmkl_sequential.a ${MKLPATH}/libmkl_core.a -Wl,--end-group -lpthread"
./configure FC=ifort F77=ifort --with-blas="$MKLLIBS" --with-lapack="$MKLLIBS"

use this page (link to be fixed) to determine the exact library version for your system: Intel MKL Link Line Advisor FFT in MKL are supported through the FFTW interface presents in the latest MKL packages.

--with-fftw="${MKLROOT}/interfaces/fftw3xf/" 
--with-fftw-lib="${MKLROOT}/interfaces/fftw3xf/libfftw3xf_intel.a $MKLLIBS"