CESM CASEROOT env_mach_pes.xml file

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
Entry ID/Value Definitions <entry> :
  • attributes :
    • id = NINST_LAYOUT
    • value =
  • Data Type <type> : char
  • Values <values> :
    • Value <value component=ATM> concurrent
    • Value <value component=OCN> concurrent
    • Value <value component=WAV> concurrent
    • Value <value component=GLC> concurrent
    • Value <value component=ICE> concurrent
    • Value <value component=ROF> concurrent
    • Value <value component=LND> concurrent
    • Value <value component=ESP> concurrent
  • Valid Values <valid_values> : sequential,concurrent
  • Description <desc> : Layout of component instances for each component
Entry ID/Value Definitions <entry> :
  • attributes :
    • id = PSTRID
    • 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 instances for each component