Topology-Aware Workload Scheduling with NVIDIA Topograph NVIDIA released Topograph, an open source toolkit that discovers cluster network topology from cloud APIs or on-premises fabric systems and publishes it as Kubernetes node labels, Slurm topology configuration, or Slinky ConfigMaps so schedulers can make topology-aware placement decisions. Topograph runs inside the NVIDIA DSX OS cluster orchestration layer alongside Dynamic Resource Allocation (DRA) and KAI Scheduler, and its cloud integrations include Google Cloud. NVIDIA said the tool addresses the problem that schedulers can only act on the topology they observe, since poor workload placement fragments topology domains and forces traffic across shared links. AI factories are power-limited systems that deliver maximum value when fully optimized. GPU workload placement is a key optimization. Poor workload placement fragments topology domains and forces traffic across shared links, reducing throughput, raising job costs, and leaving GPUs consuming provisioned power while waiting on data without advancing the workload. GPUs exchange data continuously during training and inference, so distributed workloads benefit from communication locality. NVIDIA NVLink and NVLink Switch https://www.nvidia.com/en-us/data-center/nvlink/ provide high-bandwidth, all-to-all scale-up connectivity within rack-scale GPU domains, while NVIDIA Spectrum-X Ethernet https://www.nvidia.com/en-us/networking/spectrumx/ provides predictable, low-latency scale-out networking across systems and racks. A scheduler can place workloads efficiently only with a current, accurate view of those GPU and fabric relationships, and keeping that view current as the cluster changes is where placement breaks down in practice. NVIDIA Topograph solves that problem. It discovers cluster topology from cloud APIs or on-premises fabric systems, normalizes it into a common model, and publishes it in the format each workload manager expects: Kubernetes node labels, Slurm topology configuration, or Slinky ConfigMaps. Within the NVIDIA DSX OS https://www.nvidia.com/en-us/data-center/products/dsx/ cluster orchestration layer, Topograph works alongside Dynamic Resource Allocation DRA https://blogs.nvidia.com/blog/nvidia-at-kubecon-2026/ and KAI Scheduler to enable topology-aware gang scheduling across AI factory infrastructure. This post walks through deploying Topograph and using it to schedule topology-aware workloads https://github.com/dsx-ai-factory/topograph on Kubernetes, Slurm, and Slinky. The core topology problem Topograph maps how cluster hardware is connected so schedulers can favor nearby resources. Think of the network as a road system: GPUs within the same locality domain have short, high-bandwidth paths, while traffic between domains crosses more shared links and switches. Spreading a tightly coupled workload across distant domains can increase contention and latency, so Topograph helps place workloads in the most efficient locations and avoid these bottlenecks. Modern NVIDIA Quantum InfiniBand https://www.nvidia.com/en-us/networking/products/infiniband/ ports can achieve up to 800 Gb/s http://nvidia.com/en-us/networking/products/infiniband/quantum-x800 , while NVIDIA NVLink provides 1.8 TB/s of bidirectional bandwidth per GPU in its fifth generation NVIDIA Blackwell, such as GB200/GB300 and 3.6 TB/s per GPU in its sixth generation Vera Rubin , through a dedicated NVIDIA NVLink Switch fabric. That non-blocking, all-to-all design gives each GPU its own lane rather than sharing bandwidth under load. Schedulers with a current view can favor GPUs in the closest topology domain. Slurm https://github.com/schedmd/slurm and Kubernetes both support topology-aware allocation, but a scheduler can only act on the topology it observes. Topograph regenerates that view on request and upon watched cluster changes, so the scheduler works from current data rather than a manually maintained snapshot. A common model across environments Topograph https://github.com/dsx-ai-factory/topograph is an open source toolkit that identifies a cluster’s network topology, enabling workload managers to make topology-aware scheduling decisions. It has two concepts: providers and engines. A provider discovers topology from cloud APIs or on-premises systems and normalizes it into a canonical model. An engine translates that model into Slurm configuration, Kubernetes labels, Slinky ConfigMaps, Node Feature Discovery NFD resources, or instance-oriented topology JSON. Cloud providers that have a working integration with Topograph include Google Cloud https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/gcp.md , Lambda https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/lambdai.md , Nebius https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/nebius.md , Nscale https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/nscale.md , and OCI https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/oci.md , with more cloud and colocation providers in development. When used on-premises, use the InfiniBand provider https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/infiniband.md with ibnetdiscover , or NetQ https://github.com/dsx-ai-factory/topograph/blob/main/docs/providers/netq.md for Spectrum-X https://www.nvidia.com/en-us/networking/spectrumx/ or Multi-Node NVLink https://docs.nvidia.com/multi-node-nvlink-systems/index.html MNNVL domains. The provider interface is open, so operators can add one for their own environment and contribute it upstream. Environment and Engine Support | Environment or provider | Kubernetes | | | Slurm | Graph | | | Node labels k8s | NFD resources nfd | Slinky ConfigMap slinky | | | | Cloud and hosted providers | | | | | | | Crusoe | Yes | Yes | Yes | Yes | Yes | | Google Cloud | Yes | Yes | Yes | Yes | Yes | | Lambda | Yes | Yes | Yes | Yes | Yes | | Nebius | Yes | Yes | Yes | Yes | Yes | | Nscale | Yes | Yes | Yes | Yes | Yes | | Oracle Cloud Infrastructure OCI | Yes | Yes | Yes | Yes | Yes | | On-premises deployment models | | | | | | | InfiniBand in Kubernetes | Yes | Yes | Yes | Yes | Yes | | InfiniBand on bare metal or VMs | No | No | No | Yes | Yes | | On-premises networking and topology | | | | | | | Spectrum-X or NetQ-managed fabric | Yes | Yes | Yes | Yes | Yes | | MNNVL NVLink partitions DRA block topology only | No | No | Yes | No | No | Table 1. Supported topology providers by engine Scope and interpretation . This matrix reflects current upstream main as of September 16, 2026. It shows supported provider-to-engine output combinations; requirements can vary by Topograph version, environment, and provider configuration. - The Crusoe provider reads fabric and accelerator-domain labels from Crusoe Managed Kubernetes nodes; Topograph therefore runs in Kubernetes for this provider. - The Slurm engine can run in Kubernetes, but it requires a writable volume for its configured topology.conf output path. - The NFD engine requires the alpha NodeFeatureGroupAPI feature gate. The Kubernetes engine publishes Node labels instead. Staying current as the cluster changes Five components keep that view current: - API Server: Validates requests, aggregates duplicates, and dispatches discovery - Node Observer: Watches configured Kubernetes node or Pod changes and API readiness, then requests regeneration with retries - Node Data Broker: Collects per-node attributes and stores them as node annotations - Provider: Converts cloud or fabric data into the canonical representation - Engine: Writes the representation in a format the scheduler understands How clients query topology The API server exposes five service endpoints: - POST /v1/generate – submits an asynchronous request and returns its ID with HTTP 202. - GET /v1/topology?uid=