Difference between revisions of "Benchmarking: FVCOM"

From Define Wiki
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.1

Compile 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 install

Compiling GOTM

cd FVCOM/src/gotm-4.0.0/src
vim Rules.make # SEE BELOW FOR CHANGES
make

Change 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

Running FVCOM