The SlurmCluster CRD is responsible for configuring and synchronizing Slurm’s cluster-wide information. Currently, this creates the topology files used by Slurm, if network topology is enabled. In the future, this may consolidate some of the Slurm cluster’s control-plane deployment to simplify the Helm chart and provide some cluster status information via the CRD.Documentation Index
Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
Use this file to discover all available pages before exploring further.
Topology ConfigMap generation
Slurm supports using a topology plugin, which helps the Slurm Scheduler run related jobs on nodes that are closer for better performance. The topology is defined in topology.conf. The controller generates this file automatically based on Node labels. It’s saved into a ConfigMap and mounted into containers, so that it can be updated without restarting the Pods. Onlyscontrol reload is needed to apply the changes to the Slurm cluster.
Because the topology file is cluster-wide, duplicate entries are not possible. As a result, the topology cannot be generated on a per-NodeSet basis. The SlurmCluster Controller generates the topology based on Node labels that describe the network topology.
SUNK supports two topology plugins: tree and block.
Changing the topology plugin
Thetopology.conf can contain both topology definitions at the same time (if labels for both are present on Nodes), but only one topology plugin can be active at a time.
The default is tree topology. To use block topology, add TopologyPlugin=topology/block to slurmConfig.extraConfig in the Helm chart values.
Tree topology
The current implementation expects an InfiniBand-style network structure. The Node labels used are as follows:ib.coreweave.cloud/fabric- Indicates the top level IB fabric the node belongs to in order to support multiple fabricsib.coreweave.cloud/superpod- The superpod within an IB fabric the node is a part ofib.coreweave.cloud/leafgroup- The leafgroup within the IB superpod the node is a part ofnode.coreweave.cloud/datahall- The datahall the node is located in, used to make the leafgroup value unique. This label is optional.
- F1 -> SP1 -> LG1, LG2
- F1 -> SP2 -> LG3, LG4
- F1 -> SP3 -> DH1-LG3, DH2-LG3
- F1 -> SP1 -> LG1, LG2
- F1 -> SP2 -> LG1, DH1-LG2
- F1 -> SP3 -> DH1-LG2, DH2-LG3
Block topology
The block topology implementation is designed for NVlink systems, with one block per NVlink domain. One block is generated for each uniqueds.coreweave.com/nvlink.domain label value on the Nodes.
The block size is set to the size of the largest block. If a block has fewer than 2 nodes, no block topology configuration is emitted.