Skip to content

Commit aabfb07

Browse files
authored
Merge pull request #149 from GEOS-ESM/feature/mathomp4/update-nas-nodes-fv3
WORK IN PROGRESS: Update NAS nodes for TOSS
2 parents 8244d16 + a55e204 commit aabfb07

File tree

2 files changed

+31
-54
lines changed

2 files changed

+31
-54
lines changed

scripts/CMakeLists.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,6 @@ else()
44
set(CFG_NONHYDROSTATIC TRUE)
55
endif()
66

7-
# Did we build for AMD Rome hardware (aka EPYC)?
8-
cmake_host_system_information(RESULT proc_decription QUERY PROCESSOR_DESCRIPTION)
9-
if (${proc_decription} MATCHES "EPYC")
10-
set(CFG_BUILT_ON_ROME TRUE)
11-
else ()
12-
set(CFG_BUILT_ON_ROME FALSE)
13-
endif ()
14-
157
configure_file(fv3_setup fv3_setup @ONLY)
168
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fv3_setup DESTINATION bin)
179

scripts/fv3_setup

Lines changed: 31 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -236,15 +236,14 @@ ASKPROC:
236236

237237
if ( $SITE == 'NCCS' ) then
238238
echo "Enter the ${C1}Processor Type${CN} you wish to run on:"
239-
echo " ${C2}hasw (Haswell)${CN} (default)"
240-
echo " ${C2}sky (Skylake)${CN}"
241-
# Keep Cascade Lake hidden until in general use
242-
#echo " ${C2}cas (Cascade Lake)${CN}"
239+
echo " ${C2}hasw (Haswell)${CN}"
240+
echo " ${C2}sky (Skylake)${CN} (default)"
241+
echo " ${C2}cas (Cascade Lake)${CN}"
243242
echo " "
244243
set MODEL = `echo $<`
245244
set MODEL = `echo $MODEL | tr "[:upper:]" "[:lower:]"`
246245
if ( .$MODEL == .) then
247-
set MODEL = 'hasw'
246+
set MODEL = 'sky'
248247
endif
249248

250249
if( $MODEL != 'hasw' & \
@@ -256,59 +255,47 @@ if ( $SITE == 'NCCS' ) then
256255
else if ($MODEL == 'sky') then
257256
set NCPUS_PER_NODE = 40
258257
else if ($MODEL == 'cas') then
259-
set NCPUS_PER_NODE = 48
258+
# NCCS currently recommends that users do not run with
259+
# 48 cores per node on SCU16 due to OS issues and
260+
# recommends that CPU-intensive works run with 46 or less
261+
# cores. As 45 is a multiple of 3, it's the best value
262+
# that doesn't waste too much
263+
#set NCPUS_PER_NODE = 48
264+
set NCPUS_PER_NODE = 45
260265
endif
261266

262267
else if ( $SITE == 'NAS' ) then
263268

264-
# At NAS, if you build on Rome, we currently limit you to run on
265-
# Rome; this is for two reasons. First, Romes are on SLES 15 and
266-
# if you build on SLES 15, you can only run on SLES 15. Second,
267-
# while a built-on-Rome GEOS might work on Intel processors, it
268-
# will (probably) have a different output than if built on Intel
269-
# due to different optimization flags. This would violate the GEOS
270-
# capability to get the same answers at NAS and NCCS
271-
272-
set BUILT_ON_ROME = @CFG_BUILT_ON_ROME@
273-
274269
echo "Enter the ${C1}Processor Type${CN} you wish to run on:"
275-
if( "$BUILT_ON_ROME" != "TRUE" ) then
276-
echo " ${C2}has (Haswell)${CN}"
277-
echo " ${C2}bro (Broadwell)${CN}"
278-
echo " ${C2}sky (Skylake)${CN} (default)"
279-
echo " ${C2}cas (Cascade Lake)${CN}"
280-
echo " "
281-
echo " NOTE: Due to how FV3 is compiled by default, Sandy Bridge"
282-
echo " and Ivy Bridge are not supported by current GEOS"
283-
else
284-
echo " ${C2}rom (AMD Rome)${CN} (default)"
285-
endif
270+
echo " ${C2}has (Haswell)${CN}"
271+
echo " ${C2}bro (Broadwell)${CN}"
272+
echo " ${C2}sky (Skylake)${CN} (default)"
273+
echo " ${C2}cas (Cascade Lake)${CN}"
274+
echo " ${C2}rom (AMD Rome)${CN}"
275+
echo " "
276+
echo " "
277+
echo " NOTE 1: Due to how FV3 is compiled by default, Sandy Bridge"
278+
echo " and Ivy Bridge are not supported by current GEOS"
279+
echo " "
280+
echo " NOTE 2: GEOS is non-zero-diff when running on AMD Rome"
281+
echo " compared to the other Intel nodes."
286282
echo " "
287283
set MODEL = `echo $<`
288284
set MODEL = `echo $MODEL | tr "[:upper:]" "[:lower:]"`
289285
if ( .$MODEL == .) then
290-
if( "$BUILT_ON_ROME" != "TRUE" ) then
291-
set MODEL = 'sky'
292-
else
293-
set MODEL = 'rom'
294-
endif
286+
set MODEL = 'sky'
295287
endif
296288

297-
if( "$BUILT_ON_ROME" != "TRUE" ) then
298-
if( $MODEL != 'has' & \
299-
$MODEL != 'bro' & \
300-
$MODEL != 'sky' & \
301-
$MODEL != 'cas' ) goto ASKPROC
302-
else
303-
if( $MODEL != 'rom' ) goto ASKPROC
304-
endif
289+
if( $MODEL != 'has' & \
290+
$MODEL != 'bro' & \
291+
$MODEL != 'sky' & \
292+
$MODEL != 'cas' & \
293+
$MODEL != 'rom' ) goto ASKPROC
305294

306295
# Some processors have weird names at NAS
307296
# ---------------------------------------
308297

309-
if ($MODEL == bro ) then
310-
set MODEL = 'bro_ele'
311-
else if ($MODEL == sky) then
298+
if ($MODEL == sky) then
312299
set MODEL = 'sky_ele'
313300
else if ($MODEL == cas) then
314301
set MODEL = 'cas_ait'
@@ -322,16 +309,14 @@ else if ( $SITE == 'NAS' ) then
322309
set NCPUS_PER_NODE = 20
323310
else if ($MODEL == 'has') then
324311
set NCPUS_PER_NODE = 24
325-
else if ($MODEL == 'bro_ele') then
312+
else if ($MODEL == 'bro') then
326313
set NCPUS_PER_NODE = 28
327314
else if ($MODEL == 'sky_ele') then
328315
set NCPUS_PER_NODE = 40
329316
else if ($MODEL == 'cas_ait') then
330317
set NCPUS_PER_NODE = 40
331318
else if ($MODEL == 'rom_ait') then
332319
set NCPUS_PER_NODE = 128
333-
# Romes are on a different aoe
334-
set MODEL='rom_ait:aoe=sles15'
335320
endif
336321

337322
else

0 commit comments

Comments
 (0)