Compilatore ifort: differenze tra le versioni

Da MeteOceanWiki.
(netcdf per fortran)
Riga 107: Riga 107:
 
== netcdf per fortran ==
 
== netcdf per fortran ==
  
Scaricare ''netcdf'' per fortran da http://github.com/Unidata/netcdf-c/releases
+
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.5.3.tar.gz
  
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz
+
  ''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$dstD$ncc/lib64''
 
+
 
+
Esportare le librerie di ''hdf5'' e ''netcdf-c''
+
 
+
  ''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.10.1/lib64:/opt/netcdf_4.5.0_icc/lib64''
+
 
+
 
+
Lanciare il ''./configure'' coerente con le installazioni locali
+
  
 
  ''export CC=/opt/intel/bin/icc''
 
  ''export CC=/opt/intel/bin/icc''
Riga 123: Riga 115:
 
  ''export FC=/opt/intel/bin/ifort''  
 
  ''export FC=/opt/intel/bin/ifort''  
 
  ''export F77=/opt/intel/bin/ifort''  
 
  ''export F77=/opt/intel/bin/ifort''  
  ''export MPICXX=/opt/mpich3.2/bin/mpicxx''  
+
  ''export MPICXX=$dstD$mpif/bin/mpicxx''  
  ''export MPIFC=/opt/mpich3.2/bin/mpif90''  
+
  ''export MPIFC=$dstD$mpif/bin/mpif90''  
  ''export MPICC=/opt/mpich3.2/bin/mpicc''  
+
  ''export MPICC=$dstD$mpif/bin/mpicc''  
  ''export CPPFLAGS='-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 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/opt/hdf5-1.10.1/lib64 -L/opt/netcdf_4.5.0_icc/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=/opt/netcdf_4.4.4_ifort''
+
  ''./configure --prefix='$dstD$ncf'''
 
+
 
+
Quindi compilare e installare
+
  
 
  ''make''
 
  ''make''

Versione delle 15:21, 11 feb 2021

#################################################################                                                                                                                   
# 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

mpich2

wget https://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
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 CXXFLAGS=' -O2 -fPIC' 
export CFLAGS=' -O2 -fPIC ' 
export FCFLAGS=' -O2 -fPIC ' 
export FFLAGS=' -O2 -fPIC ' 
./configure --prefix=$dstD$mpif
make
make check
make install
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
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/intel/include -I'$dstD$mpif'/include'  
export LDFLAGS='-L/opt/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
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/intel/include -I'$dstD$mpif'/include' 
export LDFLAGS='-L/opt/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=/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
./configure --with-zlib=/opt/zlib-1.2.11/include,/opt/zlib-1.2.11/lib --with-szlib=/opt/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