Compiler specific flags

From The Yambo Project
Revision as of 14:43, 9 September 2024 by Davide (talk | contribs) (Page created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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"

Debugging runs (GNU/Linux: gfortran)

./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"