mache.parallel.system.ParallelSystem.node_names

property ParallelSystem.node_names: List[str] | None[source]

The hostnames of the nodes this system holds, in the order the batch system lists them, or None where it does not name them.

A caller running several launches at once inside one allocation needs the names, because a ResourcePlacement says which nodes a launch may use by name. Nothing else does, so the names are read the first time they are asked for rather than when the system is built: on Slurm reading them costs a subprocess, and a caller that starts a process per unit of work would otherwise pay it once per process.