Skip to content

Commit

Permalink
machines: add ECCC machines 'daley' and 'banting' (#363)
Browse files Browse the repository at this point in the history
Mimicking the configuration for those machines in CICE, port Icepack to
'daley' and 'banting'.
  • Loading branch information
phil-blain authored May 26, 2021
1 parent 43a909a commit 77c4e5f
Show file tree
Hide file tree
Showing 10 changed files with 272 additions and 1 deletion.
9 changes: 9 additions & 0 deletions configuration/scripts/icepack.batch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,15 @@ cat >> ${jobfile} << EOFB
#SBATCH --qos=standby
EOFB

else if (${ICE_MACHINE} =~ daley* || ${ICE_MACHINE} =~ banting* ) then
cat >> ${jobfile} << EOFB
#PBS -N ${ICE_CASENAME}
#PBS -j oe
#PBS -l select=${nnodes}:ncpus=${corespernode}:mpiprocs=${taskpernodelimit}:ompthreads=${nthrds}
#PBS -l walltime=${ICE_RUNLENGTH}
#PBS -W umask=022
EOFB

else if (${ICE_MACHINE} =~ high_Sierra*) then
cat >> ${jobfile} << EOFB
# nothing to do
Expand Down
2 changes: 1 addition & 1 deletion configuration/scripts/icepack.launch.csh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set jobfile = $1

#==========================================

if (${ICE_MACHINE} =~ gordon* || ${ICE_MACHINE} =~ conrad* || ${ICE_MACHINE} =~ onyx* ) then
if (${ICE_MACHINE} =~ gordon* || ${ICE_MACHINE} =~ conrad* || ${ICE_MACHINE} =~ onyx* || ${ICE_MACHINE} =~ daley* || ${ICE_MACHINE} =~ banting* ) then
cat >> ${jobfile} << EOFR
aprun -n 1 -N 1 -d 1 ./icepack >&! \$ICE_RUNLOG_FILE
EOFR
Expand Down
31 changes: 31 additions & 0 deletions configuration/scripts/machines/Macros.banting_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#==============================================================================
# Makefile macros for ECCC banting
#==============================================================================
# For use with GNU compiler
#==============================================================================

CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2
#-xHost

FREEFLAGS := -ffree-form
FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none
#-xHost

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow
else
FFLAGS += -O2
endif

SCC := cc
SFC := ftn
FC := $(SFC)
CC := $(SCC)
LD:= $(FC)

ifeq ($(ICE_THREADED), true)
LDFLAGS += -fopenmp
CFLAGS += -fopenmp
FFLAGS += -fopenmp
endif
33 changes: 33 additions & 0 deletions configuration/scripts/machines/Macros.banting_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#==============================================================================
# Makefile macros for ECCC banting
#==============================================================================
# For use with intel compiler
#==============================================================================

CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise
#-xHost

FREEFLAGS := -FR
FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -no-wrap-margin
#-xHost

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created
#-init=snan,arrays
# -heap-arrays 1024
else
FFLAGS += -O2
endif

SCC := cc
SFC := ftn
FC := $(SFC)
CC := $(SCC)
LD:= $(FC)

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif
31 changes: 31 additions & 0 deletions configuration/scripts/machines/Macros.daley_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#==============================================================================
# Makefile macros for ECCC daley
#==============================================================================
# For use with GNU compiler
#==============================================================================

CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2
#-xHost

FREEFLAGS := -ffree-form
FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none
#-xHost

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow
else
FFLAGS += -O2
endif

SCC := cc
SFC := ftn
FC := $(SFC)
CC := $(SCC)
LD:= $(FC)

ifeq ($(ICE_THREADED), true)
LDFLAGS += -fopenmp
CFLAGS += -fopenmp
FFLAGS += -fopenmp
endif
33 changes: 33 additions & 0 deletions configuration/scripts/machines/Macros.daley_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#==============================================================================
# Makefile macros for ECCC daley
#==============================================================================
# For use with intel compiler
#==============================================================================

CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise
#-xHost

FREEFLAGS := -FR
FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -no-wrap-margin
#-xHost

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created
# -init=snan,arrays
# -heap-arrays 1024
else
FFLAGS += -O2
endif

SCC := cc
SFC := ftn
FC := $(SFC)
CC := $(SCC)
LD:= $(FC)

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif
35 changes: 35 additions & 0 deletions configuration/scripts/machines/env.banting_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/csh -f

set inp = "undefined"
if ($#argv == 1) then
set inp = $1
endif

if ("$inp" != "-nomodules") then

source /opt/modules/default/init/csh # Initialize modules for csh
# Clear environment
module unload craype-x86-skylake
module unload PrgEnv-intel

module load PrgEnv-gnu # GNU compiler
module load craype-x86-skylake # Reload
module load cray-netcdf # NetCDF
module load cray-hdf5 # HDF5
setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem

endif

setenv ICE_MACHINE_MACHNAME banting
setenv ICE_MACHINE_ENVNAME gnu
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR ~/data/banting/icepack/runs
setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/
setenv ICE_MACHINE_BASELINE ~/data/banting/icepack/baselines
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_MAXRUNLENGTH 3
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "development"
setenv ICE_MACHINE_BLDTHRDS 18
setenv ICE_MACHINE_QSTAT "qstat "
32 changes: 32 additions & 0 deletions configuration/scripts/machines/env.banting_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/csh -f

set inp = "undefined"
if ($#argv == 1) then
set inp = $1
endif

if ("$inp" != "-nomodules") then

source /opt/modules/default/init/csh # Initialize modules for csh
module load PrgEnv-intel # Intel compiler
module load cray-netcdf # NetCDF
module load cray-hdf5 # HDF5
setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem

endif

setenv ICE_MACHINE_MACHNAME banting
setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake)"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "Intel 19.0.3.199, cray-mpich/7.7.7, cray-netcdf/4.6.1.3"
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR ~/data/banting/icepack/runs
setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/
setenv ICE_MACHINE_BASELINE ~/data/banting/icepack/baselines
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_MAXRUNLENGTH 3
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "development"
setenv ICE_MACHINE_BLDTHRDS 18
setenv ICE_MACHINE_QSTAT "qstat "
35 changes: 35 additions & 0 deletions configuration/scripts/machines/env.daley_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/csh -f

set inp = "undefined"
if ($#argv == 1) then
set inp = $1
endif

if ("$inp" != "-nomodules") then

source /opt/modules/default/init/csh # Initialize modules for csh
# Clear environment
module unload craype-x86-skylake
module unload PrgEnv-intel

module load PrgEnv-gnu # GNU compiler
module load craype-x86-skylake # Reload
module load cray-netcdf # NetCDF
module load cray-hdf5 # HDF5
setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem

endif

setenv ICE_MACHINE_MACHNAME daley
setenv ICE_MACHINE_ENVNAME gnu
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR ~/data/daley/icepack/runs
setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/
setenv ICE_MACHINE_BASELINE ~/data/daley/icepack/baselines
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_MAXRUNLENGTH 3
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "development"
setenv ICE_MACHINE_BLDTHRDS 18
setenv ICE_MACHINE_QSTAT "qstat "
32 changes: 32 additions & 0 deletions configuration/scripts/machines/env.daley_intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/csh -f

set inp = "undefined"
if ($#argv == 1) then
set inp = $1
endif

if ("$inp" != "-nomodules") then

source /opt/modules/default/init/csh # Initialize modules for csh
module load PrgEnv-intel # Intel compiler
module load cray-netcdf # NetCDF
module load cray-hdf5 # HDF5
setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem

endif

setenv ICE_MACHINE_MACHNAME daley
setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake)"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "Intel 19.0.3.199, cray-mpich/7.7.6, cray-netcdf/4.6.1.3"
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR ~/data/daley/icepack/runs
setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/
setenv ICE_MACHINE_BASELINE ~/data/daley/icepack/baselines
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_TPNODE 40
setenv ICE_MACHINE_MAXRUNLENGTH 3
setenv ICE_MACHINE_ACCT P0000000
setenv ICE_MACHINE_QUEUE "development"
setenv ICE_MACHINE_BLDTHRDS 18
setenv ICE_MACHINE_QSTAT "qstat "

0 comments on commit 77c4e5f

Please sign in to comment.