Skip to content

Latest commit

 

History

History
109 lines (75 loc) · 2.89 KB

platform_specs.rst

File metadata and controls

109 lines (75 loc) · 2.89 KB

Platform Specs

libEnsemble detects platform specifications including MPI runners and resources. Usually this will result in the correct settings. However, users can configure platform specifications via the platform_specs option or indicate a known platform via the platform option.

platform_specs

A Platform object or dictionary specifying settings for a platform.

To define a platform (in calling script):

Platform Object

from libensemble.resources.platforms import Platform

libE_specs["platform_specs"] = Platform(
    mpi_runner="srun",
    cores_per_node=64,
    logical_cores_per_node=128,
    gpus_per_node=8,
    gpu_setting_type="runner_default",
    gpu_env_fallback="ROCR_VISIBLE_DEVICES",
    scheduler_match_slots=False,
)

Dictionary

libE_specs["platform_specs"] = {
    "mpi_runner": "srun",
    "cores_per_node": 64,
    "logical_cores_per_node": 128,
    "gpus_per_node": 8,
    "gpu_setting_type": "runner_default",
    "gpu_env_fallback": "ROCR_VISIBLE_DEVICES",
    "scheduler_match_slots": False,
}

The list of platform fields is given below. Any fields not given will be auto-detected by libEnsemble.

Platform Fields

To use an existing platform:

from libensemble.resources.platforms import PerlmutterGPU

libE_specs["platform_specs"] = PerlmutterGPU()

See known platforms<known-platforms>.

platform

A string giving the name of a known platform defined in the platforms module.

libE_specs["platform"] = "perlmutter_g"

Note: the environment variable LIBE_PLATFORM is an alternative way of setting.

E.g., in the command line or batch submission script:

export LIBE_PLATFORM="perlmutter_g"

Known Platforms List

Known_platforms