Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Cheyenne and Derecho port #456

Merged
merged 2 commits into from
Sep 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions configuration/scripts/machines/Macros.derecho_cray
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#==============================================================================
# Makefile macros for NCAR derecho, cray compiler
#==============================================================================

CPP := ftn -e P
CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 ${ICE_CPPDEFS}
CFLAGS := -c -O2

FIXEDFLAGS := -132
FREEFLAGS :=
FFLAGS := -hbyteswapio
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -hfp0 -g -Rbcdps -Ktrap=fp
else
FFLAGS += -O2 -hfp0 # -eo
endif

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

NETCDF_PATH := $(NETCDF)

#PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

INCLDIR := $(INCLDIR)

LIB_NETCDF := $(NETCDF)/lib
#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

47 changes: 47 additions & 0 deletions configuration/scripts/machines/Macros.derecho_gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#==============================================================================
# Makefile macros for NCAR derecho, gnu compiler
#==============================================================================

CPP := ftn -E
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c

FIXEDFLAGS := -ffixed-line-length-132
FREEFLAGS := -ffree-form
FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none -fallow-argument-mismatch
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow --std f2008
# FFLAGS += -O0 -g -fcheck=all -finit-real=snan -fimplicit-none -ffpe-trap=invalid,zero,overflow
CFLAGS += -O0
endif

SCC := gcc
SFC := gfortran
CC := $(SCC)
FC := $(SFC)
LD := $(FC)

NETCDF_PATH := $(NETCDF)

#PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

INCLDIR := $(INCLDIR)

LIB_NETCDF := $(NETCDF)/lib
#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

2 changes: 1 addition & 1 deletion configuration/scripts/machines/Macros.derecho_intel
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#==============================================================================
# Makefile macros for NCAR cheyenne, intel compiler
# Makefile macros for NCAR derecho, intel compiler
#==============================================================================

CPP := fpp
Expand Down
49 changes: 49 additions & 0 deletions configuration/scripts/machines/Macros.derecho_intelclassic
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#==============================================================================
# Makefile macros for NCAR derecho, intelclassic compiler
#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise -march=core-avx2

FIXEDFLAGS := -fixed -132
FREEFLAGS := -free
FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -march=core-avx2
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg
# FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -link_mpi=dbg -stand f08
# FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays -link_mpi=dbg
else
FFLAGS += -O2
endif

SCC := icc
SFC := ifort
CC := $(SCC)
FC := $(SFC)
LD := $(FC)

NETCDF_PATH := $(NETCDF)

#PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

INCLDIR := $(INCLDIR)

LIB_NETCDF := $(NETCDF)/lib
#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

49 changes: 49 additions & 0 deletions configuration/scripts/machines/Macros.derecho_inteloneapi
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#==============================================================================
# Makefile macros for NCAR derecho, inteloneapi compiler
#==============================================================================

CPP := fpp
CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS}
CFLAGS := -c -O2 -fp-model precise -march=core-avx2

FIXEDFLAGS := -fixed -132
FREEFLAGS := -free
FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -march=core-avx2
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg
# FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -link_mpi=dbg -stand f08
# FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays -link_mpi=dbg
else
FFLAGS += -O2
endif

SCC := icx
SFC := ifx
CC := $(SCC)
FC := $(SFC)
LD := $(FC)

NETCDF_PATH := $(NETCDF)

#PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

INCLDIR := $(INCLDIR)

LIB_NETCDF := $(NETCDF)/lib
#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

53 changes: 53 additions & 0 deletions configuration/scripts/machines/Macros.derecho_nvhpc
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#==============================================================================
# Makefile macros for NCAR derecho, nvhpc compiler
#==============================================================================

CPP := nvc -Mcpp
CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 ${ICE_CPPDEFS}
CFLAGS := -c -Kieee

FIXEDFLAGS := -Mfixed
FREEFLAGS := -Mfree
FFLAGS := -Kieee -byteswapio -traceback
FFLAGS_NOOPT:= -O0

ifeq ($(ICE_BLDDEBUG), true)
# FFLAGS += -O0 -g -Ktrap=fp -Mbounds -Mchkptr
# FFLAGS += -O0 -g -Ktrap=fp -Mbounds
# FFLAGS += -O0 -Ktrap=fp -Mbounds -Mchkptr
FFLAGS += -O0 -Ktrap=fp
CFLAGS += -O0
else
# FFLAGS += -O2 -Mnofma -target=zen3
FFLAGS += -O2
CFLAGS += -O2
endif

SCC := nvc
SFC := nvfortran
CC := $(SCC)
FC := $(SFC)
LD := $(FC)

NETCDF_PATH := $(NETCDF)

#PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs

#PNETCDF_PATH := $(PNETCDF)
#PNETCDF_PATH := /glade/u/apps/ch/opt/pio/2.2/mpt/2.15f/intel/17.0.1/lib

INCLDIR := $(INCLDIR)

LIB_NETCDF := $(NETCDF)/lib
#LIB_PNETCDF := $(PNETCDF_PATH)/lib
#LIB_MPI := $(IMPILIBDIR)

#SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl
SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff

ifeq ($(ICE_THREADED), true)
LDFLAGS += -qopenmp
CFLAGS += -qopenmp
FFLAGS += -qopenmp
endif

12 changes: 6 additions & 6 deletions configuration/scripts/machines/env.cheyenne_gnu
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ endif

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

source /glade/u/apps/ch/opt/lmod/7.2.1/lmod/7.2.1/init/csh
source ${MODULESHOME}/init/csh

module purge
module load ncarenv/1.2
module load gnu/8.3.0
module load mpt/2.19
module load ncarenv/1.3
module load gnu/10.1.0
module load mpt/2.25
module load ncarcompilers/0.5.0
module load netcdf/4.6.3
module load netcdf/4.8.1

endif

setenv ICE_MACHINE_MACHNAME cheyenne
setenv ICE_MACHINE_MACHINFO "SGI ICE XA Xeon E5-2697V4 Broadwell"
setenv ICE_MACHINE_ENVNAME gnu
setenv ICE_MACHINE_ENVINFO "GNU Fortran (GCC) 8.3.0"
setenv ICE_MACHINE_ENVINFO "GNU Fortran (GCC) 10.1.0"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR /glade/scratch/$user/ICEPACK_RUNS
setenv ICE_MACHINE_INPUTDATA /glade/p/cesm/pcwg_dev
Expand Down
12 changes: 6 additions & 6 deletions configuration/scripts/machines/env.cheyenne_intel
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ endif

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

source /glade/u/apps/ch/opt/lmod/7.2.1/lmod/7.2.1/init/csh
source ${MODULESHOME}/init/csh

module purge
module load ncarenv/1.2
module load intel/19.0.2
module load mpt/2.19
module load ncarenv/1.3
module load intel/19.1.1
module load mpt/2.25
module load ncarcompilers/0.5.0
module load netcdf/4.6.3
module load netcdf/4.8.1

endif

setenv ICE_MACHINE_MACHNAME cheyenne
setenv ICE_MACHINE_MACHINFO "SGI ICE XA Xeon E5-2697V4 Broadwell"
setenv ICE_MACHINE_ENVNAME intel
setenv ICE_MACHINE_ENVINFO "ifort 19.0.2.187 20190117"
setenv ICE_MACHINE_ENVINFO "ifort 19.1.1.217 20200306"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR /glade/scratch/$user/ICEPACK_RUNS
setenv ICE_MACHINE_INPUTDATA /glade/p/cesm/pcwg_dev
Expand Down
12 changes: 6 additions & 6 deletions configuration/scripts/machines/env.cheyenne_pgi
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ endif

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

source /glade/u/apps/ch/opt/lmod/7.2.1/lmod/7.2.1/init/csh
source ${MODULESHOME}/init/csh

module purge
module load ncarenv/1.2
module load pgi/19.9
module load mpt/2.21
module load ncarenv/1.3
module load pgi/20.4
module load mpt/2.22
module load ncarcompilers/0.5.0
module load netcdf/4.7.3
module load netcdf/4.7.4

endif

setenv ICE_MACHINE_MACHNAME cheyenne
setenv ICE_MACHINE_MACHINFO "SGI ICE XA Xeon E5-2697V4 Broadwell"
setenv ICE_MACHINE_ENVNAME pgi
setenv ICE_MACHINE_ENVINFO "pgf90 19.9-0"
setenv ICE_MACHINE_ENVINFO "pgf90 20.4-0"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR /glade/scratch/$user/ICEPACK_RUNS
setenv ICE_MACHINE_INPUTDATA /glade/p/cesm/pcwg_dev
Expand Down
51 changes: 51 additions & 0 deletions configuration/scripts/machines/env.derecho_cray
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/csh -f

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

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

source ${MODULESHOME}/init/csh

module --force purge
module load ncarenv/23.06
module load craype
module load cce/15.0.1
module load ncarcompilers
#module load cray-mpich/8.1.25
#module load hdf5/1.12.2
module load netcdf/4.9.2
module load cray-libsci/23.02.1.1

# For perftools with mpiexec
# module load perftools-base
# module load perftools
#setenv PALS_TRANSFER FALSE

endif

limit coredumpsize unlimited
limit stacksize unlimited
setenv PALS_QUIET TRUE

# May be needed for OpenMP memory
setenv OMP_STACKSIZE 64M
# OMP runtime diagnostics
#setenv OMP_DISPLAY_ENV TRUE

setenv ICE_MACHINE_MACHNAME derecho
setenv ICE_MACHINE_MACHINFO "HPE Cray EX Milan Slingshot 11"
setenv ICE_MACHINE_ENVNAME cray
setenv ICE_MACHINE_ENVINFO "cce 15.0.1, netcdf4.9.2"
setenv ICE_MACHINE_MAKE gmake
setenv ICE_MACHINE_WKDIR /glade/derecho/scratch/$user/ICEPACK_RUNS
setenv ICE_MACHINE_INPUTDATA /glade/p/cesm/pcwg_dev
setenv ICE_MACHINE_BASELINE /glade/derecho/scratch/$user/ICEPACK_BASELINE
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_ACCT P00000000
setenv ICE_MACHINE_QUEUE "main"
setenv ICE_MACHINE_TPNODE 128
setenv ICE_MACHINE_BLDTHRDS 1
setenv ICE_MACHINE_QSTAT "qstat "
Loading
Loading