mache.parallel.system.ParallelSystem
- class mache.parallel.system.ParallelSystem(config: ConfigParser)[source]
Base class for parallel system resource management.
- Variables:
parallel_configs (Dict[str, str]) – A dictionary containing combined config options for the parallel section and the parallel.{compiler} section, if any.
cores (int) – The total number of CPU cores available on the system.
cores_per_node (int) – The number of CPU cores available per node.
gpus (int) – The total number of GPUs available on the system.
gpus_per_node (int) – The number of GPUs available per node.
nodes (int) – The total number of nodes available on the system.
mpi_allowed (bool) – Whether MPI execution is allowed on the system.
- __init__(config: ConfigParser)[source]
Set available resources for the parallel system based on the config.
- Parameters:
config (ConfigParser) – The configuration parser containing the parallel system options.
Methods
__init__(config)Set available resources for the parallel system based on the config.
get_config(key[, default])Get a config value from the parallel configs.
get_config_int(key[, default])Get an integer config value from the parallel configs.
get_parallel_command(args, ntasks[, ...])Get the parallel execution command for the current system.
get_scheduler_target(config, target_type, nodes)Choose queue/partition/qos metadata target for a node count.
resolve_submission(config, nodes, target_type)Resolve a scheduler target and effective node count.