Difference between revisions of "Benchmarking: FVCOM"
Jump to navigation
Jump to search
| (9 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | == Load Intel compilers and Intel-MPI == | ||
| + | |||
| + | <syntaxhighlight> | ||
| + | module load intel-mpi/64/4.1.3/049 | ||
| + | module load intel/compiler/64/14.0 | ||
| + | module load intel/mkl/64/11.1 | ||
| + | </syntaxhighlight> | ||
| + | |||
== Compile and Install HDF5 library == | == Compile and Install HDF5 library == | ||
| Line 19: | Line 27: | ||
tar xzf netcdf-4.3.3.1.tar.gz | tar xzf netcdf-4.3.3.1.tar.gz | ||
cd netcdf-4.3.3.1 | cd netcdf-4.3.3.1 | ||
| − | CC=mpiicc FC=mpiifort CPPFLAGS=-I/home/k_mouza/hdf5/include/ LDFLAGS=-L/home/k_mouza/hdf5/lib/ ./configure --prefix=/home/k_mouza/netcdf-4.3 | + | CC=mpiicc FC=mpiifort CPPFLAGS=-I/home/k_mouza/hdf5/include/ LDFLAGS=-L/home/k_mouza/hdf5/lib/ ./configure --prefix=/home/k_mouza/netcdf-C-4.3 |
| + | make -j10 | ||
| + | make install | ||
| + | |||
| + | wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.2.tar.gz | ||
| + | tar xzf netcdf-fortran-4.4.2.tar.gz | ||
| + | cd netcdf-fortran-4.4.2 | ||
| + | CC=mpiicc FC=mpiifort FCFLAGS=-I/home/k_mouza/hdf5/include/ LDFLAGS=-L/home/k_mouza/hdf5/lib/ CPPFLAGS=-I/home/k_mouza/netcdf-C-4.3/include/ ./configure --prefix=/home/k_mouza/netcdf-fortran-4.4 | ||
make -j10 | make -j10 | ||
make install | make install | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
| + | == Compiling GOTM == | ||
| + | |||
| + | <syntaxhighlight> | ||
| + | cd FVCOM/src/gotm-4.0.0/src | ||
| + | vim Rules.make # SEE BELOW FOR CHANGES | ||
| + | make | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Change these lines in the Rules.make file: | ||
| + | <syntaxhighlight> | ||
| + | FORTRAN_COMPILER=IFORT | ||
| + | GOTMDIR=/home/k_mouza/PML-Benchmarks/Sample-Code/FVCOM/src/gotm-4.0.0 | ||
| + | ... | ||
| + | NETCDFINC=/home/k_mouza/netcdf-fortran-4.4/include | ||
| + | NETCDFLIBDIR=/home/k_mouza/netcdf-fortran-4.4/lib | ||
| + | ... | ||
| + | NETCDFLIB = -lnetcdff -lnetcdf | ||
| + | ... | ||
| + | LDFLAGS += -L$(NETCDFLIBDIR) -L/home/k_mouza/netcdf-C-4.3/lib/ | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == Compiling FVCOM == | ||
| + | |||
| + | <syntaxhighlight> | ||
| + | cd FVCOM/src/FVCOM_source | ||
| + | vim make.inc # SEE BELOW FOR CHANGES | ||
| + | make -j10 | ||
| + | cp fvcom ../../pml-irish-sea/run/bin/ | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Change the following lines in make.inc file: | ||
| + | <syntaxhighlight> | ||
| + | TOPDIR = /home/k_mouza/PML-Benchmarks/Sample-Code/FVCOM/src/FVCOM_source | ||
| + | ... | ||
| + | LIBDIR = -L$(INSTALLDIR)/lib -L/home/k_mouza/netcdf-C-4.3/lib -L/home/k_mouza/netcdf-fortran-4.4/lib -L/home/k_mouza/netcdf-fortran-4.4/lib | ||
| + | INCDIR = -I$(INSTALLDIR)/include -I/home/k_mouza/netcdf-fortran-4.4/include/ -I/home/k_mouza/netcdf-C-4.3/include | ||
| + | ... | ||
| + | IOLIBS = -lnetcdff -lnetcdf | ||
| + | IOINCS = -I/home/k_mouza/netcdf-C-4.3/include | ||
| + | ... | ||
| + | GOTMLIB = -L$(TOPDIR)/../gotm-4.0.0/lib/IFORT/ -lturbulence_prod -lutil_prod -lmeanflow_prod | ||
| + | GOTMINCS = -I$(TOPDIR)/../gotm-4.0.0/modules/IFORT/ | ||
| + | ... | ||
| + | CPP = cpp -I/cm/shared/apps/intel/mpi/4.1.3.049/include64/ -I/home/k_mouza/netcdf-C-4.3/include -I/home/k_mouza/netcdf-fortran-4.4/include | ||
| + | COMPILER = -DIFORT | ||
| + | FC = mpiifort | ||
| + | DEBFLGS = | ||
| + | OPT = -O3 -no-prec-div -I/cm/shared/apps/intel/mpi/4.1.3.049/include64 -L/cm/shared/apps/intel/mpi/4.1.3.049/lib64 | ||
| + | CLIB = | ||
| + | CC = mpiicc | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == Running FVCOM == | ||
Latest revision as of 10:24, 27 July 2015
Load Intel compilers and Intel-MPI
module load intel-mpi/64/4.1.3/049
module load intel/compiler/64/14.0
module load intel/mkl/64/11.1Compile and Install HDF5 library
wget https://www.hdfgroup.org/HDF5/release/obtainsrc.html
tar xzf hdf5-1.8.15-patch1.tar.gz
cd hdf5-1.8.15-patch1
CC=mpiicc FC=mpiifort ./configure --prefix=/home/k_mouza/hdf5 --enable-fortran --enable-parallel
make -j10
make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/k_mouza/hdf5/lib/
export PATH=$PATH:/home/k_mouza/hdf5/bin/Compile and install netCDF library
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.1.tar.gz
tar xzf netcdf-4.3.3.1.tar.gz
cd netcdf-4.3.3.1
CC=mpiicc FC=mpiifort CPPFLAGS=-I/home/k_mouza/hdf5/include/ LDFLAGS=-L/home/k_mouza/hdf5/lib/ ./configure --prefix=/home/k_mouza/netcdf-C-4.3
make -j10
make install
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.2.tar.gz
tar xzf netcdf-fortran-4.4.2.tar.gz
cd netcdf-fortran-4.4.2
CC=mpiicc FC=mpiifort FCFLAGS=-I/home/k_mouza/hdf5/include/ LDFLAGS=-L/home/k_mouza/hdf5/lib/ CPPFLAGS=-I/home/k_mouza/netcdf-C-4.3/include/ ./configure --prefix=/home/k_mouza/netcdf-fortran-4.4
make -j10
make installCompiling GOTM
cd FVCOM/src/gotm-4.0.0/src
vim Rules.make # SEE BELOW FOR CHANGES
makeChange these lines in the Rules.make file:
FORTRAN_COMPILER=IFORT
GOTMDIR=/home/k_mouza/PML-Benchmarks/Sample-Code/FVCOM/src/gotm-4.0.0
...
NETCDFINC=/home/k_mouza/netcdf-fortran-4.4/include
NETCDFLIBDIR=/home/k_mouza/netcdf-fortran-4.4/lib
...
NETCDFLIB = -lnetcdff -lnetcdf
...
LDFLAGS += -L$(NETCDFLIBDIR) -L/home/k_mouza/netcdf-C-4.3/lib/Compiling FVCOM
cd FVCOM/src/FVCOM_source
vim make.inc # SEE BELOW FOR CHANGES
make -j10
cp fvcom ../../pml-irish-sea/run/bin/Change the following lines in make.inc file:
TOPDIR = /home/k_mouza/PML-Benchmarks/Sample-Code/FVCOM/src/FVCOM_source
...
LIBDIR = -L$(INSTALLDIR)/lib -L/home/k_mouza/netcdf-C-4.3/lib -L/home/k_mouza/netcdf-fortran-4.4/lib -L/home/k_mouza/netcdf-fortran-4.4/lib
INCDIR = -I$(INSTALLDIR)/include -I/home/k_mouza/netcdf-fortran-4.4/include/ -I/home/k_mouza/netcdf-C-4.3/include
...
IOLIBS = -lnetcdff -lnetcdf
IOINCS = -I/home/k_mouza/netcdf-C-4.3/include
...
GOTMLIB = -L$(TOPDIR)/../gotm-4.0.0/lib/IFORT/ -lturbulence_prod -lutil_prod -lmeanflow_prod
GOTMINCS = -I$(TOPDIR)/../gotm-4.0.0/modules/IFORT/
...
CPP = cpp -I/cm/shared/apps/intel/mpi/4.1.3.049/include64/ -I/home/k_mouza/netcdf-C-4.3/include -I/home/k_mouza/netcdf-fortran-4.4/include
COMPILER = -DIFORT
FC = mpiifort
DEBFLGS =
OPT = -O3 -no-prec-div -I/cm/shared/apps/intel/mpi/4.1.3.049/include64 -L/cm/shared/apps/intel/mpi/4.1.3.049/lib64
CLIB =
CC = mpiicc