libmuscle.native_instantiator.global_resources module
- class libmuscle.native_instantiator.global_resources.GlobalResources[source]
Bases:
objectDetects available compute resources.
This detects whether we’re running locally or in a SLURM allocation, and returns available resources on request. This class describes all the available resources, not the ones local to a node.
- scheduler
The HPC scheduler we’re running under, if any.
- nodes
List of hostnames of available nodes to run on.
- logical_cpus_per_node
Number of cores available on each node. List alongside nodes.
- class libmuscle.native_instantiator.global_resources.Scheduler(*values)[source]
Bases:
Enum- NONE = 0
- SLURM = 1
- libmuscle.native_instantiator.global_resources.global_resources() GlobalResources[source]
Wrapper for _global_resources.
This is here to ensure that the object gets created after we’ve configured logging, so that the log output it generates actually ends up in the manager log.
The users are all in the main thread of the NativeInstantiator background process, so there’s no need for a lock right now.