Run Nemotron 5 Training with WorkloadRun
This guide walks through running a Nemotron 5 (56B) training workload on a GPU cluster using Cluster Readiness Engine (CRE) and nvcrectl, from manifest to report. It uses the exec framework to launch a Megatron-LM training script with mock data, so no dataset or checkpoint download is required.
For an introduction to WorkloadRun and when to use it instead of a full Certification, see the WorkloadRun Quick Start. For generic WorkloadRun options (targeting nodes, measurements, framework types), see Run a WorkloadRun.
Prerequisites
- A Kubernetes cluster with GPU nodes (
nvidia.com/gpu.present=true) andkubectlaccess nvcrectlinstalled and the CRE controller running on the cluster — see Installation- An NGC API key for pulling the
nvcr.io/nvidia/pytorchworkload image
If a cluster administrator has already installed the controller, you only need the NGC API key for the workload image — skip straight to creating the manifest below.
Create the WorkloadRun manifest
Save the following as nemotron5.yaml. It runs Nemotron 5 (56B) using Megatron-LM with the exec framework:
Key fields:
numNodes: 16— the number of nodes per job group, not a total. The orchestrator partitions all eligible GPU nodes into groups of this size and creates one job per group:numNodes: 16on a 16-node cluster creates a single 16-node job, whilenumNodes: 4on the same cluster would create four 4-node jobs that certify the nodes in parallel. Set it to your full cluster size for a single full-scale run.resources— optional. When omitted, CRE auto-sets onlynvidia.com/gpu: <gpusPerNode>(both limits and requests); it does not guess memory or CPU. Set the block explicitly, as here, if you need CPU pinning or memory sizing.TPintrain.sh— tensor parallelism: 4 for GB200/GB300, 8 for H100.- No
targetneeded — CRE auto-discovers all GPU nodes. See Run a WorkloadRun to target specific nodes. goodputMeasurement— parses training logs with the built-inmegatron-trainingLogProfile to compute goodput, TFLOPs/GPU, and step time for the report.
CRE auto-handles NCCL environment variables, ComputeDomain and DRA setup, EFA/RoCE networking, and topology-aware orchestration based on the detected platform and GPU architecture.
Submit the WorkloadRun
The --workload-registry* flags create an nvcr.io image pull secret in the target namespace and inject it into the WorkloadRun automatically.
Output:
Monitor progress
Watch pods come up:
Check WorkloadRun status (lightweight):
For the full resource spec:
Generate a report
After the workload completes (or fails), generate a report:
Output:
If a node fails, CRE records it in the WorkloadRun status with a reason (HardwareFailureDetected, ThresholdViolation, or WorkloadFailed); it never taints, cordons, or otherwise modifies the node.
To save the report as JSON:
Gang scheduling
If the cluster runs a gang-aware scheduler such as KAI Scheduler, add spec.gangScheduler so all pods in a job group are held until the entire gang can be placed:
The queue value is applied as the kai.scheduler/queue label on the pod template metadata. It must be a valid Kubernetes label value (at most 63 characters). See Run a WorkloadRun for details.
Clean up
Cancel the WorkloadRun (cascades to its Workflow, Jobs, and pods):
To uninstall CRE entirely:
Alternative: one-shot run with wait and report
Combine run, wait, and report in a single command:
This blocks until the workload completes and prints the report automatically.
Next steps
- How-to: Run a WorkloadRun — targeting nodes, measurements, framework options
- CLI Reference: workloadrun
- API Reference: WorkloadRun
- Nemotron 5 is also available as certification catalog entries (
training/nemotron5-8b,training/nemotron5-56b) — see Certify a Cluster