Vibeleaderboard
← All Intel
Intel / article

Support New AI Frameworks Faster Using NVIDIA Workload Map

Source
developer.nvidia.com
Author
Alon Lavian
Date

Context

NVIDIA Workload Map is an open-source way to describe the structure of AI workloads on Kubernetes once, so schedulers and management tools can understand a new framework without new code. On Kubernetes, a distributed training or job is a tree of resources: groups of pods, the units that run containers, each with a role, a replica count and a status. Each framework, such as JobSet, Ray or KServe, encodes that tree differently, so a tool has needed a separate adapter written in code for each one. NVIDIA's developer blog post says that makes support for every new framework a roadmap item, which is why it so often waits for a release.

Workload Map, formerly called Karta, moves that knowledge into a YAML definition that says where to find a workload's pod templates, replica counts and status, and how to translate its status into shared terms such as running, completed and failed. A Kubernetes resource type and a Go library read the definitions, and the project ships tested ones for 13 frameworks, including JobSet, PyTorchJob, RayJob, KServe and NVIDIA Dynamo. In the post's example, one JobSet definition lets a command-line tool show a job as one leader and two workers requesting 12 GPUs in total, instead of three Jobs and their pods listed separately. The same definition tells NVIDIA's KAI Scheduler which pods must be scheduled together or not at all, which it uses only for workload types without their own plugin, and lets NVIDIA Run:ai manage the job as one workload. Workload Map is Apache 2.0 licensed, and the evidence for its use is NVIDIA's own account: it says Run:ai uses it in production and that Elotl's Nova multi-cluster scheduler has adopted it.

Key takeaways · AI-distilled
  • Kubernetes AI frameworks such as JobSet, LeaderWorkerSet and RayJob each encode roles, replicas and status differently, so schedulers and dashboards need an adapter per custom resource. NVIDIA says that makes each new framework a roadmap item, not a one-time cost.
  • Workload Map (formerly Karta) moves that knowledge into YAML definitions stating where a workload's pod templates, replica counts and status fields live, read by a Go library. It ships definitions for 13 types, including JobSet, PyTorchJob, KServe and NVIDIA Dynamo.
  • Status mappings translate each framework's native status into shared phases. JobSet reports no plain Running condition, so its definition derives one with a jq expression: at least one replicated Job ready and active, and none failed.
  • In NVIDIA's JobSet example, the kli CLI uses the catalog definition to show one leader and two workers totaling 12 GPUs, where kubectl lists the JobSet, Jobs and pods as separate entries. Inspection needs only a kubeconfig, with nothing installed in the cluster.
  • KAI Scheduler uses Workload Map only as a fallback for gang scheduling workload types that lack a native plugin, and native plugins keep precedence. The project is Apache 2.0, runs in production in NVIDIA Run:ai, and Elotl's Nova uses it to place workloads across clusters.
Terms in this piece · Glossary
  • inference — Running a trained model to get answers — the phase where AI is actually used, as opposed to trained.
Read the source developer.nvidia.com
Recommended reads
Comments

Checking sign-in…

Loading comments…