Compilatore ifort: differenze tra le versioni
(→netcdf per c) |
|||
Riga 146: | Riga 146: | ||
− | Poi bisogna settare le variabili per le librerie ''netcdf'' | + | 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 NETCDFROOT=/opt/netcdf_4.4.3_ifort'' | ||
Riga 159: | Riga 159: | ||
''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDFROOT/lib64'' | ''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDFROOT/lib64'' | ||
+ | |||
+ | |||
+ | 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/ | ||
Versione delle 14:20, 21 dic 2017
Indice |
mpich2
Per prima cosa scaricare mpich da http://www.mpich.org/downloads/
Bisogna poi settare le variabili di compilazione per configure coerentemente con la propria installazione della macchina
CC=/opt/intel/bin/icc CXX=/opt/intel/bin/icpc FC=/opt/intel/bin/ifort F77=/opt/intel/bin/ifort CXXFLAGS=' -O2 -fPIC' CFLAGS=' -O2 -fPIC ' FCFLAGS=' -O2 -fPIC ' FFLAGS=' -O2 -fPIC ' ./configure --prefix=/opt/mpich3.2/
Quindi dare in sequenza i comandi:
make
make check
make install
Infine aggiungere al .bashrc la path e le lib di mpich
export PATH=$PATH:/opt/mpich3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib
zlib
Scaricare zlib da http://www.zlib.net/
Esportare le variabili di sistema di ifort e mpich
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/lib/intel64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64
Impostare i settaggi coerenti con le path di installazione locali
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 MPIFC=/opt/mpich3.2/bin/mpif90 MPICC=/opt/mpich3.2/bin/mpicc CPPFLAGS='-I/opt/intel/include -I/opt/mpich3.2/include' LDFLAGS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64' ./configure --prefix=/opt/zlib-1.2.8/
Quindi compilare e installare
make
make check
make install
szip
Scaricare szip da https://www.hdfgroup.org/doc_resource/SZIP/
Impostare i settaggi coerenti con le path di installazione locali
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 MPIFC=/opt/mpich3.2/bin/mpif90 MPICC=/opt/mpich3.2/bin/mpicc CPPFLAGS='-I/opt/intel/include -I/opt/mpich3.2/include' LDFLAGS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64' ./configure --prefix=/opt/szip-2.1
Quindi compilare
make
make check
make install
hdf5
Scaricare hdf5 da https://www.hdfgroup.org/HDF5/release/obtainsrc.html
Impostare i settaggi coerenti con le path di installazione locali
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 MPIFC=/opt/mpich3.2/bin/mpif90 MPICC=/opt/mpich3.2/bin/mpicc ./configure --with-zlib=/opt/zlib-1.2.8/include,/opt/zlib-1.2.8/lib --with-szlib=/opt/szip-2.1 --prefix=/opt/hdf5-1.8.16/ --enable-fortran --enable-cxx
Quindi compilare e installare
make
make check
make install
netcdf per c
Scaricare netcdf per c da https://www.unidata.ucar.edu/downloads/netcdf/index.jsp
Esportare le librerie di hdf5
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.8.16/lib64
Settare la configurazione per il ./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 MPIFC=/opt/mpich3.2/bin/mpif90 MPICC=/opt/mpich3.2/bin/mpicc CPPFLAGS='-I/opt/zlib-1.2.8/include -I/opt/szip-2.1/include -I/opt/hdf5-1.8.16/include' LDFLAGS='-L/opt/zlib-1.2.8/lib -L/opt/szip-2.1/lib64 -L/opt/hdf5-1.8.16/lib64' ./configure --prefix=/opt/netcdf_4.4.0_icc
Compilare e installare1
make
make check
make install
netcdf per fortran
Scaricare netcdf per fortran da http://github.com/Unidata/netcdf-c/releases
Esportare le librerie di hdf5 e netcdf-c
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.8.16/lib64:/opt/netcdf_4.4.0_icc/lib64
Lanciare il ./configure coerente con le installazioni locali
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 MPIFC=/opt/mpich3.2/bin/mpif90 MPICC=/opt/mpich3.2/bin/mpicc CPPFLAGS='-I/opt/zlib-1.2.8/include -I/opt/szip-2.1/include -I/opt/hdf5-1.8.16/include -I/opt/netcdf_4.4.0_icc/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' ./configure --prefix=/opt/netcdf_4.4.3_ifort
Quindi compilare e installare
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.8/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/szip-2.1/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.8.16/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.0_icc/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.3_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
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/
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
Infine compilare e installare
make
make install