Compilatore ifort: differenze tra le versioni

Da MeteOceanWiki.
(Compilazione di Delft3D)
Riga 6: Riga 6:
 
Bisogna poi settare le variabili di compilazione per configure coerentemente con la propria installazione della macchina
 
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/''
+
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/
  
  

Versione delle 09:09, 18 mar 2016

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/lib64


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/


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/szip-2.1


Quindi compilare

make

make check

make install


hdf5

Scaricare hdf5 da https://www.hdfgroup.org/HDF5/release/obtainsrc.html


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 ./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.15/ --enable-fortran --enable-cxx


Quindi compilare e installare

make

make check

make install


netcdf per c

Scaricare netcdf per c da http://github.com/Unidata/netcdf-c/releases


Esportare le librerie di hdf5

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.8.15/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.15/include' LDFLAGS='-L/opt/zlib-1.2.8/lib -L/opt/szip-2.1/lib64 -L/opt/hdf5-1.8.15/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.15/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.15/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.15/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/intel/lib/intel64

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64

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

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.15/lib64 -L/opt/netcdf_4.4.0_icc/lib64 -L/opt/netcdf_4.4.3_ifort/lib64' ./configure --prefix=/opt/Delft3D/5169_ifort


Infine compilare e installare

make

make install