Compilatore ifort: differenze tra le versioni
(→netcdf per fortran) |
|||
(8 revisioni intermedie di un utente non mostrate) | |||
Riga 7: | Riga 7: | ||
export ncc=netcdf_4.7.4_icc | export ncc=netcdf_4.7.4_icc | ||
export ncf=netcdf_4.5.3_ifort | export ncf=netcdf_4.5.3_ifort | ||
+ | |||
+ | == ifort == | ||
+ | |||
+ | ''export PATH=$PATH:$dstD/intel/bin'' | ||
+ | ''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD/intel/lib/intel64'' | ||
== mpich2 == | == mpich2 == | ||
Riga 12: | Riga 17: | ||
wget https://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz | wget https://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz | ||
− | ''export CC= | + | tar -zxvf mpich-3.2.1.tar.gz |
− | ''export CXX= | + | cd mpich-3.2.1 |
− | ''export FC= | + | |
− | ''export F77= | + | ''export CC=$dstD/intel/bin/icc'' |
+ | ''export CXX=$dstD/intel/bin/icpc'' | ||
+ | ''export FC=$dstD/intel/bin/ifort'' | ||
+ | ''export F77=$dstD/intel/bin/ifort'' | ||
''export CXXFLAGS=' -O2 -fPIC' '' | ''export CXXFLAGS=' -O2 -fPIC' '' | ||
''export CFLAGS=' -O2 -fPIC ' '' | ''export CFLAGS=' -O2 -fPIC ' '' | ||
Riga 25: | Riga 33: | ||
''make check'' | ''make check'' | ||
''make install'' | ''make install'' | ||
+ | |||
+ | cd .. | ||
''export PATH=$PATH:$dstD$mpif/bin'' | ''export PATH=$PATH:$dstD$mpif/bin'' | ||
Riga 33: | Riga 43: | ||
wget https://www.zlib.net/zlib-1.2.11.tar.gz | wget https://www.zlib.net/zlib-1.2.11.tar.gz | ||
− | ''export CC= | + | tar -zxvf zlib-1.2.11.tar.gz |
− | ''export CXX= | + | cd zlib-1.2.11 |
− | ''export FC= | + | |
− | ''export F77= | + | ''export CC=$dstD/intel/bin/icc'' |
+ | ''export CXX=$dstD/intel/bin/icpc'' | ||
+ | ''export FC=$dstD/intel/bin/ifort'' | ||
+ | ''export F77=$dstD/intel/bin/ifort'' | ||
''export MPICXX=$dstD$mpif/bin/mpicxx'' | ''export MPICXX=$dstD$mpif/bin/mpicxx'' | ||
''export MPIFC=$dstD$mpif/bin/mpif90'' | ''export MPIFC=$dstD$mpif/bin/mpif90'' | ||
''export MPICC=$dstD$mpif/bin/mpicc'' | ''export MPICC=$dstD$mpif/bin/mpicc'' | ||
− | ''export CPPFLAGS='-I | + | ''export CPPFLAGS='-I'$dstD'/intel/include -I'$dstD$mpif'/include' '' |
− | ''export LDFLAGS='-L | + | ''export LDFLAGS='-L'$dstD'/intel/lib/intel64 -L'$dstD$mpif'/lib64' '' |
''./configure --prefix=$dstD/zlib-1.2.11/'' | ''./configure --prefix=$dstD/zlib-1.2.11/'' | ||
Riga 52: | Riga 65: | ||
wget https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz | wget https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz | ||
− | ''export CC= | + | tar -zxvf szip-2.1.1.tar.gz |
− | ''export CXX= | + | cd szip-2.1.1 |
− | ''export FC= | + | |
− | ''export F77= | + | ''export CC=$dstD/intel/bin/icc'' |
+ | ''export CXX=$dstD/intel/bin/icpc'' | ||
+ | ''export FC=$dstD/intel/bin/ifort'' | ||
+ | ''export F77=$dstD/intel/bin/ifort'' | ||
''export MPICXX=$dstD$mpif/bin/mpicxx'' | ''export MPICXX=$dstD$mpif/bin/mpicxx'' | ||
''export MPIFC=$dstD$mpif/bin/mpif90'' | ''export MPIFC=$dstD$mpif/bin/mpif90'' | ||
''export MPICC=$dstD$mpif/bin/mpicc'' | ''export MPICC=$dstD$mpif/bin/mpicc'' | ||
− | ''export CPPFLAGS='-I | + | ''export CPPFLAGS='-I'$dstD'/intel/include -I'$dstD$mpif'/include' '' |
− | ''export LDFLAGS='-L | + | ''export LDFLAGS='-L'$dstD'/intel/lib/intel64 -L'$dstD$mpif'/lib64' '' |
''./configure --prefix=$dstD/szip-2.1.1'' | ''./configure --prefix=$dstD/szip-2.1.1'' | ||
Riga 71: | Riga 87: | ||
Scaricare ''hdf5'' da https://www.hdfgroup.org/downloads/hdf5 | Scaricare ''hdf5'' da https://www.hdfgroup.org/downloads/hdf5 | ||
− | ''export CC= | + | |
− | ''export CXX= | + | |
− | ''export FC= | + | ''export CC=$dstD/intel/bin/icc'' |
− | ''export F77= | + | ''export CXX=$dstD/intel/bin/icpc'' |
+ | ''export FC=$dstD/intel/bin/ifort'' | ||
+ | ''export F77=$dstD/intel/bin/ifort'' | ||
''export MPICXX=$dstD$mpif/bin/mpicxx'' | ''export MPICXX=$dstD$mpif/bin/mpicxx'' | ||
''export MPIFC=$dstD$mpif/bin/mpif90'' | ''export MPIFC=$dstD$mpif/bin/mpif90'' | ||
''export MPICC=$dstD$mpif/bin/mpicc'' | ''export MPICC=$dstD$mpif/bin/mpicc'' | ||
− | ''./configure --with-zlib= | + | ''./configure --with-zlib='$dstD'/zlib-1.2.11/include,'$dstD'/zlib-1.2.11/lib --with-szlib='$dstD'/szip-2.1.1 --prefix=$dstD$hdff --enable-fortran --enable-cxx'' |
''make'' | ''make'' | ||
Riga 120: | Riga 138: | ||
''export CPPFLAGS='-I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I'$dstD$hdff'/include -I'$dstD$ncc'/include' '' | ''export CPPFLAGS='-I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I'$dstD$hdff'/include -I'$dstD$ncc'/include' '' | ||
''export LDFLAGS='-L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L'$dstD$hdff'/lib64 -L'$dstD$ncc'/lib64' '' | ''export LDFLAGS='-L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L'$dstD$hdff'/lib64 -L'$dstD$ncc'/lib64' '' | ||
− | ''./configure --prefix= | + | ''./configure --prefix=$dstD$ncf'' |
''make'' | ''make'' |
Versione attuale delle 10:27, 23 set 2022
################################################################# # Exporting packages roots export dstD=/home/gbesio/opt/ export dstD=/opt/ export mpif=mpich-3.2.1 export hdff=hdf5-1.10.7 export ncc=netcdf_4.7.4_icc export ncf=netcdf_4.5.3_ifort
Indice |
ifort
export PATH=$PATH:$dstD/intel/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD/intel/lib/intel64
mpich2
wget https://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
tar -zxvf mpich-3.2.1.tar.gz cd mpich-3.2.1
export CC=$dstD/intel/bin/icc export CXX=$dstD/intel/bin/icpc export FC=$dstD/intel/bin/ifort export F77=$dstD/intel/bin/ifort export CXXFLAGS=' -O2 -fPIC' export CFLAGS=' -O2 -fPIC ' export FCFLAGS=' -O2 -fPIC ' export FFLAGS=' -O2 -fPIC ' ./configure --prefix=$dstD$mpif
make make check make install
cd ..
export PATH=$PATH:$dstD$mpif/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD$mpif/lib64
zlib
wget https://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11
export CC=$dstD/intel/bin/icc export CXX=$dstD/intel/bin/icpc export FC=$dstD/intel/bin/ifort export F77=$dstD/intel/bin/ifort export MPICXX=$dstD$mpif/bin/mpicxx export MPIFC=$dstD$mpif/bin/mpif90 export MPICC=$dstD$mpif/bin/mpicc export CPPFLAGS='-I'$dstD'/intel/include -I'$dstD$mpif'/include' export LDFLAGS='-L'$dstD'/intel/lib/intel64 -L'$dstD$mpif'/lib64' ./configure --prefix=$dstD/zlib-1.2.11/
make make check make install
szip
wget https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz
tar -zxvf szip-2.1.1.tar.gz cd szip-2.1.1
export CC=$dstD/intel/bin/icc export CXX=$dstD/intel/bin/icpc export FC=$dstD/intel/bin/ifort export F77=$dstD/intel/bin/ifort export MPICXX=$dstD$mpif/bin/mpicxx export MPIFC=$dstD$mpif/bin/mpif90 export MPICC=$dstD$mpif/bin/mpicc export CPPFLAGS='-I'$dstD'/intel/include -I'$dstD$mpif'/include' export LDFLAGS='-L'$dstD'/intel/lib/intel64 -L'$dstD$mpif'/lib64' ./configure --prefix=$dstD/szip-2.1.1
make make check make install
hdf5
Scaricare hdf5 da https://www.hdfgroup.org/downloads/hdf5
export CC=$dstD/intel/bin/icc export CXX=$dstD/intel/bin/icpc export FC=$dstD/intel/bin/ifort export F77=$dstD/intel/bin/ifort export MPICXX=$dstD$mpif/bin/mpicxx export MPIFC=$dstD$mpif/bin/mpif90 export MPICC=$dstD$mpif/bin/mpicc ./configure --with-zlib='$dstD'/zlib-1.2.11/include,'$dstD'/zlib-1.2.11/lib --with-szlib='$dstD'/szip-2.1.1 --prefix=$dstD$hdff --enable-fortran --enable-cxx
make make check make install
netcdf per c
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-c-4.7.4.tar.gz
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD$hdff/lib64
export CC=/opt/intel/bin/icc export CXX=/opt/intel/bin/icpc export FC=/opt/intel/bin/ifort export F77=/opt/intel/bin/ifort export MPICXX=$dstD$mpif/bin/mpicxx export MPIFC=$dstD$mpif/bin/mpif90 export MPICC=$dstD$mpif/bin/mpicc export CPPFLAGS='-I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I'$dstD$hdff'/include' export LDFLAGS='-L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L'$dstD$hdff'/lib64' ./configure --prefix=$dstD$ncc
make make check make install
netcdf per fortran
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.5.3.tar.gz
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD$ncc/lib64
export CC=/opt/intel/bin/icc export CXX=/opt/intel/bin/icpc export FC=/opt/intel/bin/ifort export F77=/opt/intel/bin/ifort export MPICXX=$dstD$mpif/bin/mpicxx export MPIFC=$dstD$mpif/bin/mpif90 export MPICC=$dstD$mpif/bin/mpicc export CPPFLAGS='-I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I'$dstD$hdff'/include -I'$dstD$ncc'/include' export LDFLAGS='-L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L'$dstD$hdff'/lib64 -L'$dstD$ncc'/lib64' ./configure --prefix=$dstD$ncf
make make check make install
Compilazione di Delft3D
Innanzitutto verificare che le $LD_LIBRARY_PATH siano quelle giuste:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/zlib-1.2.11/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/szip-2.1.1/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.10.1/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.5.0_icc/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.4_ifort/lib64
Poi bisogna settare le variabili per le librerie netcdf (VECCHIO MODO, NON FUNZIONA, VEDERE SEZIONE DOPO)
export NETCDFROOT=/opt/netcdf_4.4.3_ifort export PKG_CONFIG_PATH=/$NETCDFROOT/lib64/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDFROOT/lib64 export NETCDFROOT=/opt/netcdf_4.4.0_icc export PKG_CONFIG_PATH=/$NETCDFROOT/lib64/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDFROOT/lib64
Quindi impostare i settaggi di configurazione con ./configure
CC=/opt/intel/bin/icc CXX=/opt/intel/bin/icpc FC=/opt/intel/bin/ifort F77=/opt/intel/bin/ifort MPICXX=/opt/mpich3.2/bin/mpicxx MPIF77=/opt/mpich3.2/bin/mpif90 MPIFC=/opt/mpich3.2/bin/mpif90 FCLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -lmpifort' FLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' LIBS=' -L/opt/mpich3.2/lib64 -L/opt/intel/lib/intel64 -lrt -lexpat -lstdc++ -limf -lsvml -lirng -lintlc -lmpich -lmpifort' PPFLAGS='-I/opt/zlib-1.2.8/include -I/opt/szip-2.1/include -I/opt/hdf5-1.8.15/include -I/opt/netcdf_4.4.0_icc/include -I/opt/netcdf_4.4.3_ifort/include' LDFLAGS='-L/opt/zlib-1.2.8/lib -L/opt/szip-2.1/lib64 -L/opt/hdf5-1.8.16/lib64 -L/opt/netcdf_4.4.0_icc/lib64 -L/opt/netcdf_4.4.3_ifort/lib64' ./configure --prefix=/opt/Delft3D/5740_ifort
Per far funzioanre netcdf bisogna fare questi settaggi
export CC=/opt/intel/bin/icc export CXX=/opt/intel/bin/icpc export FC=/opt/intel/bin/ifort export F77=/opt/intel/bin/ifort export MPICXX=/opt/mpich3.2/bin/mpicxx export MPIF77=/opt/mpich3.2/bin/mpif90 export MPIFC=/opt/mpich3.2/bin/mpif90 export FCLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -lmpifort' export FLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' export LIBS='-L/opt/mpich3.2/lib64 -L/opt/intel/lib/intel64 -lrt -lexpat -lstdc++ -limf -lsvml -lirng -lintlc -lmpich -lmpifort' export FLIBS='L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64 -L/opt/netcdf_4.5.0_icc/lib64 -lnetcdf -lnetcdf' export NETCDF_CFLAGS='-I/opt/netcdf_4.4.4_ifort/include -I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I/opt/hdf5-1.10.1/include -I/opt/netcdf_4.5.0_icc/include' export NETCDF_LIBS='-L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64 -L/opt/netcdf_4.5.0_icc/lib64 -lnetcdf -lnetcdf' export NETCDF_FORTRAN_LIBS=' -L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64' export NETCDF_LIBS='-L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64' ./configure --prefix=/opt/delft3D-t-7959-ifort/
Infine compilare e installare
make make install