Model Version: CESM2.0
HTML created on: 2017-06-21
Description
The CASEROOT scripts read these XML settings in the env_mach_pes.xml file
in order to determine the machine and case specific MPI decomposition or
processor element (PE) layouts for each model component.
Interface Tools
CESM2.0 supports multiple machine PE layout groups.
The xmlquery
and xmlchange script tools
accept the --subgroup command line argument to define one of the groups.
Changes to these settings may be made prior to calling case.setup.
Subsequent changes require case.setup --reset followed by case.build --clean
and case.build.
Examples
Navigation Instuctions
Clicking on the blue link will display additional descriptive information.
Click on the "Show Details" button and then cntl+F key to search for specific strings in this file.
File Description Header <header>
These variables CANNOT be modified once case_setup has been
invoked without first invoking case_setup -reset
NTASKS: the total number of MPI tasks, a negative value indicates nodes rather than tasks.
NTHRDS: the number of OpenMP threads per MPI task.
ROOTPE: the global mpi task of the component root task, if negative, indicates nodes rather than tasks.
PSTRID: the stride of MPI tasks across the global set of pes (for now set to 1)
NINST : the number of component instances (will be spread evenly across NTASKS)
for example, for NTASKS = 8, NTHRDS = 2, ROOTPE = 32, NINST = 2
the MPI tasks would be placed starting on global pe 32 and each pe would be threaded 2-ways
These tasks will be divided amongst both instances (4 tasks each).
Note: PEs that support threading never have an MPI task associated
with them for performance reasons. As a result, NTASKS and ROOTPE
are relatively independent of NTHRDS and they determine
the layout of mpi processors between components. NTHRDS is used
to determine how those mpi tasks should be placed across the machine.
The following values should not be set by the user since they'll be
overwritten by scripts: TOTALPES, MAX_TASKS_PER_NODE, PES_PER_NODE
Group Settings <group id="mach_pes_last"> :
Entry ID/Value Definitions <entry> :
attributes :
id = COST_PES
value = 684
Data Type <type> : integer
Description <desc> : pes or cores used relative to PES_PER_NODE for accounting (0 means TOTALPES is valid)
Entry ID/Value Definitions <entry> :
attributes :
id = TOTALPES
value = 684
Data Type <type> : integer
Description <desc> : total number of tasks and threads (setup automatically - DO NOT EDIT)
Entry ID/Value Definitions <entry> :
attributes :
id = MAX_TASKS_PER_NODE
value = 36
Data Type <type> : integer
Description <desc> : maximum number of tasks/ threads allowed per node
Entry ID/Value Definitions <entry> :
attributes :
id = PES_PER_NODE
value = 36
Data Type <type> : integer
Description <desc> : pes or cores per node for accounting purposes
Group Settings <group id="mach_pes"> :
Entry ID/Value Definitions <entry> :
attributes :
id = PCT_SPARE_NODES
value = 0
Data Type <type> : integer
Description <desc> : Percent of extra spare nodes to allocate
Entry ID/Value Definitions <entry> :
attributes :
id = NTASKS
value =
Data Type <type> : integer
Values <values> :
Value <value component=ATM> -16
Value <value component=CPL> -16
Value <value component=OCN> -3
Value <value component=WAV> -1
Value <value component=GLC> -16
Value <value component=ICE> -3
Value <value component=ROF> -12
Value <value component=LND> -12
Value <value component=ESP> 1
Description <desc> : number of tasks for each component
Entry ID/Value Definitions <entry> :
attributes :
id = NTHRDS
value =
Data Type <type> : integer
Values <values> :
Value <value component=ATM> 1
Value <value component=CPL> 1
Value <value component=OCN> 1
Value <value component=WAV> 1
Value <value component=GLC> 1
Value <value component=ICE> 1
Value <value component=ROF> 1
Value <value component=LND> 1
Value <value component=ESP> 1
Description <desc> : number of threads for each task in each component
Entry ID/Value Definitions <entry> :
attributes :
id = ROOTPE
value =
Data Type <type> : integer
Values <values> :
Value <value component=ATM> 0
Value <value component=CPL> 0
Value <value component=OCN> -16
Value <value component=WAV> -15
Value <value component=GLC> 0
Value <value component=ICE> -12
Value <value component=ROF> 0
Value <value component=LND> 0
Value <value component=ESP> 0
Description <desc> : ROOTPE (mpi task in MPI_COMM_WORLD) for each component
Entry ID/Value Definitions <entry> :
attributes :
id = NINST
value =
Data Type <type> : integer
Values <values> :
Value <value component=ATM> 1
Value <value component=OCN> 1
Value <value component=WAV> 1
Value <value component=GLC> 1
Value <value component=ICE> 1
Value <value component=ROF> 1
Value <value component=LND> 1
Value <value component=ESP> 1
Description <desc> : Number of instances for each component