# WCOSS PLATFORMS
wcoss.common={ # Common resources for all WCOSSes
use platform.defaults
MACHINE_ID='wcoss'
HOMEnems=PWD_UP5
HOMErt=OUTPUT_PATH
INPUTS="@[BASELINE]"
# INPUTS='/meso/noscrub/wx20rv/REGRESSION_TEST'
}
platform wcoss.phase2 {
use wcoss.common
CPU_ACCOUNT='GFS-T2O'
pex='1'
cores_per_node=24
cpus_per_core=2
C768_PPN=6
C768_THRD=1
# WCOSS Phase 2 has been slow of late.
DEFAULT_TEST_WALLTIME=3000
MPI='LSF'
SHORT_TEST_QUEUE='&SHORTQ;'
LONG_TEST_QUEUE='&LONGQ;'
BUILD_QUEUE='&BUILDQ;'
MACHINE_ID='wcoss.phase2'
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
default_resources={
TASKS=156
WRTTASK_PER_GROUP=12
TPN=12
INPES=3
JNPES=8
THRD=1
atm_petlist_bounds="0 155"
wav_petlist_bounds="156 263"
CPLTASKS=264
}
default_stretched_resources={
TASKS=48
TPN=12
INPES=2
JNPES=4
THRD=2
}
default_nested_resources={
use default_stretched_resources
TASKS=96
}
default_threaded_resources={
TASKS=84
WRTTASK_PER_GROUP=12
TPN=6
INPES=3
JNPES=4
THRD=2
}
embed bash detect [[[
# This function is used at PARSE TIME to detect whether we are
# on WCOSS Phase 2. It must be very fast and low resource
# usage since the parser runs it.
if [[ -d /usrx && -d /global && -e /etc/redhat-release && \
-e /etc/prod ]] ; then
# We are on WCOSS Phase 1 or 2.
if ( cat /proc/cpuinfo |grep 'processor.*32' > /dev/null ) ; then
# Not 32 fake (hyperthreading) cpus, so Phase 2.
exit 0
fi
fi
exit 1
]]]
# ROCOTO SUPPORT ---------------------------------------------------
# You MUST reduce the TASK_THROTTLE to 1 if you use a debug queue
TASK_THROTTLE='11'
rocoto={
install_dir="@[HOMErt]"
log_dir="@[TMPrt]/log"
scheduler="lsf"
entities=[[[
]]]
build_resources=[[[
@[BUILD_QUEUE]
4G
1
-R 'affinity[core(1)]'
]]]
short_test_resources=[[[
@[SHORT_TEST_QUEUE]
-a poe
]]]
long_test_resources=[[[
@[LONG_TEST_QUEUE]
-a poe
]]]
}
}
platform wcoss.phase1 {
# Implement phase 1 support as a trivial extension of phase 2
# 16 cores per node instead of 24, use dev queue instead of dev2
use wcoss.phase2
pex='1'
cores_per_node=16
cpus_per_core=2
C768_PPN=6
C768_THRD=4
MACHINE_ID='wcoss.phase1'
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
# WCOSS Phase 2 has been slow of late.
DEFAULT_TEST_WALLTIME=2700
# WCOSS Phase 2 has been slow of late.
DEFAULT_TEST_WALLTIME=2700
default_resources={
TASKS=156
WRTTASK_PER_GROUP=12
TPN=8
INPES=3
JNPES=8
THRD=1
atm_petlist_bounds="0 155"
wav_petlist_bounds="156 263"
CPLTASKS=264
}
default_stretched_resources={
TASKS=48
TPN=8
INPES=2
JNPES=4
THRD=2
}
default_nested_resources={
use default_stretched_resources
TASKS=96
}
default_threaded_resources={
TASKS=84
WRTTASK_PER_GROUP=12
TPN=4
INPES=3
JNPES=4
THRD=2
}
embed bash detect [[[
# This function is used at PARSE TIME to detect whether we are
# on WCOSS Phase 2. It must be very fast and low resource
# usage since the parser runs it.
if [[ -d /usrx && -d /global && -e /etc/redhat-release && \
-e /etc/prod ]] ; then
# We are on WCOSS Phase 1 or 2.
if ( cat /proc/cpuinfo |grep 'processor.*32' > /dev/null ) ; then
# Not 32 fake (hyperthreading) cpus, so Phase 2.
exit 1
fi
exit 0
fi
exit 1
]]]
# ROCOTO SUPPORT ---------------------------------------------------
rocoto={
use wcoss.phase2%rocoto
entities=[[[
]]]
}
}
platform wcoss_dell_p3 {
# Implement phase 1 support as a trivial extension of phase 2
# 16 cores per node instead of 24, use dev queue instead of dev2
use wcoss.common
CPU_ACCOUNT='GFS-T2O'
pex='3'
cores_per_node=28
cpus_per_core=2
C768_PPN=7
C768_THRD=4
DEFAULT_TEST_WALLTIME=3000
MPI='LSF_IMPI'
MACHINE_ID='wcoss_dell_p3'
SHORT_TEST_QUEUE='&SHORTQ;'
LONG_TEST_QUEUE='&LONGQ;'
BUILD_QUEUE='&BUILDQ;'
BASELINE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210/"
BASELINE_TEMPLATE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210/"
default_resources={
TASKS=156
WRTTASK_PER_GROUP=12
TPN=6
INPES=3
JNPES=8
THRD=4
atm_petlist_bounds="0 155"
wav_petlist_bounds="156 263"
CPLTASKS=264
}
default_stretched_resources={
TASKS=48
TPN=8
INPES=2
JNPES=4
THRD=2
}
default_nested_resources={
use default_stretched_resources
TASKS=96
}
default_threaded_resources={
TASKS=84
WRTTASK_PER_GROUP=12
TPN=4
INPES=3
JNPES=4
THRD=2
}
embed bash detect [[[
# This function is used at PARSE TIME to detect whether we are
# on WCOSS Phase 2. It must be very fast and low resource
# usage since the parser runs it.
if [[ -d /usrx ]] ; then
if ( readlink /usrx | grep dell 2>&1 ) ; then
exit 0
fi
fi
exit 1
]]]
# ROCOTO SUPPORT ---------------------------------------------------
# You MUST reduce the TASK_THROTTLE to 1 if you use a debug queue
TASK_THROTTLE='11'
rocoto={
install_dir="@[HOMErt]"
log_dir="@[TMPrt]/log"
scheduler="lsf"
entities=[[[
]]]
build_resources=[[[
@[BUILD_QUEUE]
6G
1
-R 'affinity[core(1)]'
]]]
short_test_resources=[[[
@[SHORT_TEST_QUEUE]
]]]
long_test_resources=[[[
@[LONG_TEST_QUEUE]
]]]
}
}
platform wcoss.cray {
use wcoss.common
MACHINE_ID='wcoss.cray'
pex='cray'
cores_per_node=24
cpus_per_core=2
C768_PPN=6
C768_THRD=4
MPI='lsf_cray_intel'
SHORT_TEST_QUEUE='&SHORTQ;'
LONG_TEST_QUEUE='&LONGQ;'
BUILD_QUEUE='&BUILDQ;'
TASK_THROTTLE='11'
BUILD_WALLTIME="3600"
DEFAULT_TEST_WALLTIME=1800
BASELINE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
BASELINE_TEMPLATE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200210"
execution_time_modules=[[[
module load alps
]]]
default_resources={
TASKS=150
WRTTASK_PER_GROUP=6
TPN=24
INPES=3
JNPES=8
THRD=1
atm_petlist_bounds="0 149"
wav_petlist_bounds="150 263"
CPLTASKS=264
}
default_stretched_resources={
TASKS=48
TPN=12
INPES=2
JNPES=4
THRD=2
}
default_nested_resources={
use default_stretched_resources
TASKS=96
}
default_threaded_resources={
TASKS=84
WRTTASK_PER_GROUP=12
TPN=12
INPES=3
JNPES=4
THRD=2
}
embed bash detect [[[
# This function is used at PARSE TIME to detect whether we are
# on WCOSS Cray. It must be very fast and low resource usage
# since the parser runs it.
if [[ -d /gpfs/hps && -e /etc/SuSE-release && -d /usrx ]] ; then
exit 0
fi
exit 1
]]]
# ROCOTO SUPPORT ---------------------------------------------------
rocoto={
install_dir="@[HOMErt]"
log_dir="@[TMPrt]/log"
scheduler="lsfcray"
entities=[[[
]]]
build_resources=[[[
@[BUILD_QUEUE]
24
]]]
short_test_resources=[[[
@[SHORT_TEST_QUEUE]
]]]
long_test_resources=[[[
@[LONG_TEST_QUEUE]
]]]
}
}