This repository was archived by the owner on Oct 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
machine instructions hazelhen intel
Dominikus Heinzeller edited this page Sep 6, 2017
·
8 revisions
#!/bin/bash
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
module swap PrgEnv-cray/5.2.82 PrgEnv-intel/5.2.82
module swap intel intel/16.0.3.210
module rm atp/2.1.0
module load atp/2.0.5
module load cray-parallel-netcdf/1.8.1.3 cray-netcdf-hdf5parallel/4.4.1.1.3
module load gcc/7.1.0
module load tools/cmake/3.8.2
module load tools/netcdf_utils/4.4.1
export INSTALLDST=$HOME/thirdparty
export INSTALLSRC=$EOME/thirdparty/src
export PIO=$INSTALLDST/pio-2.x.y
export SIONLIB=$INSTALLDST/sionlib-1.7.1
export PATH=$HOME/bin:$SIONLIB/bin:$INSTALLDST/bin:$PATH
export LD_LIBRARY_PATH=$INSTALLDST/lib:$LD_LIBRARY_PATH
export MPAS=$HOME/mpas
export f77_dump_flag=TRUE
mkdir -p $INSTALLSRC
mkdir -p $MPAS
# sionlib-1.7.1
cd $INSTALLSRC
tar -xvzf sionlib-1.7.1.tar.gz
cd sionlib
CC=cc \
CXX=CC \
FC=ftn \
CFLAGS="-fPIC" \
LDFLAGS="-fPIC" \
FCFLAGS="-fPIC" \
CXXFLAGS="-fPIC" \
./configure \
--prefix=$INSTALLDST/sionlib-1.7.1 \
--disable-debug 2>&1 | tee log.config
cd build-crayxt-intel
patch -p0 < ../../sionlib-1.7.1.hazelhen.patch
make 2>&1 | tee log.make
# Don't run the tests, this is awkward on Hazelhen
make install 2>&1 | tee log.install
# pio-2.x.y
cd $INSTALLSRC
tar -xvzf pio-2.x.y_20170901.tar.gz
cd pio-2.x.y_20170901
cd ParallelIO
export PIOSRC=`pwd`
export CC=cc
export FC=ftn
export CXX=CC
cd ..
mkdir pio
cd pio
tar -xvzf ../../pio-2.x.y_20170901_CMake_Fortran_utils.tar.gz # (can't access the outside world from hazelhen)
cmake \
-DNetCDF_C_PATH=/opt/cray/netcdf-hdf5parallel/4.4.1.1.3/INTEL/16.0 \
-DNetCDF_Fortran_PATH=/opt/cray/netcdf-hdf5parallel/4.4.1.1.3/INTEL/16.0 \
-DPnetCDF_PATH=/opt/cray/parallel-netcdf/1.8.1.3/INTEL/16.0 \
-DHDF5_HL_INCLUDE_DIR-ADVANCED=/opt/cray/hdf5-parallel/1.10.0.3/INTEL/16.0/include \
-DHDF5_C_INCLUDE_DIR-ADVANCED=/opt/cray/hdf5-parallel/1.10.0.3/INTEL/16.0/include \
-DHDF5_HL_LIBRARY-ADVANCED=/opt/cray/hdf5-parallel/1.10.0.3/INTEL/16.0/lib/libhdf5_hl_parallel_intel_160.so.100 \
-DHDF5_C_LIBRARY-ADVANCED=/opt/cray/hdf5-parallel/1.10.0.3/INTEL/16.0/lib/libhdf5_parallel_intel_160.so.100 \
-DCMAKE_INSTALL_PREFIX=$INSTALLDST/pio-2.x.y_20170901 \
-DPIO_ENABLE_TIMING=OFF \
-DPIO_USE_MALLOC=On \
-DCMAKE_VERBOSE_MAKEFILE=1 \
$PIOSRC 2>&1 | tee log.cmake
make 2>&1 | tee log.make
# Abort when it tries to clone stuff for genf90 and apply patch (can't access the outside world from hazelhen)
patch -p0 < ../../pio-2.x.y_20170901_genf90_git_clone.patch
make 2>&1 | tee log.make
# Ignore warning about hdf5 static libraries requiring stuff
make install 2>&1 | tee log.install
export -n PIOSRC
export -n CC
export -n FC
export -n CXX
# metis-5.1.0 - to run on frontend nodes
cd $INSTALLSRC
tar -xvzf metis-5.1.0.tar.gz
cd metis-5.1.0
# 64 bit patch!
patch -p0 < ../metis-5.1.0.patch
#
make config prefix=$INSTALLDST cc=gcc 2>&1 | tee log.config
make 2>&1 | tee log.make
make install 2>&1 | tee log.install
Since it is not possible to attach files to the Github wiki, you need to contact @climbfuji to get a copy of the files.