Compilatore ifort: differenze tra le versioni

Da MeteOceanWiki.
Riga 1: Riga 1:
 
== mpich2 ==
 
== mpich2 ==
  
Per prima cosa scaricare mpich da http://www.mpich.org/downloads/
+
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
 
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/''
  
  
 
Quindi dare in sequenza i comandi:
 
Quindi dare in sequenza i comandi:
  
make
+
''make''
  
make check
+
''make check''
  
make install
+
''make install''
  
  
Infine aggiungere al .bashrc la path e le lib di mpich
+
Infine aggiungere al ''.bashrc'' la path e le lib di ''mpich''
  
export PATH=$PATH:/opt/mpich3.2/bin
+
''export PATH=$PATH:/opt/mpich3.2/bin''
  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64
+
''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64''
  
  
Riga 28: Riga 28:
 
== zlib ==
 
== zlib ==
  
Scaricare zlib da http://www.zlib.net/
+
Scaricare ''zlib'' da http://www.zlib.net/
  
  
Esportare le variabili di sistema di ifort e mpich
+
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/intel/lib/intel64''
  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64
+
''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64''
  
  
 
Impostare i settaggi coerenti con le path di installazione locali
 
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/
+
''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
 
Quindi compilare e installare
  
make
+
''make''
  
make check
+
''make check''
  
make install  
+
''make install''
  
  
Riga 55: Riga 55:
 
== szip ==
 
== szip ==
  
Scaricare szip da https://www.hdfgroup.org/doc_resource/SZIP/
+
Scaricare ''szip'' da https://www.hdfgroup.org/doc_resource/SZIP/
  
  
Esportare le variabili di sistema di ifort e mpich
+
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/intel/lib/intel64/''
  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64
+
''export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64''
  
  
 
Impostare i settaggi coerenti con le path di installazione locali
 
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
+
''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''
  
  

Versione delle 12:14, 12 feb 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

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/composer_xe_2013_sp1.3.174/mkl/lib/intel64

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich-install/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.3.3.1_cc/lib64

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.2_fortran/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