SDK Simulator User Guide#
The DPS SDK is a Kubernetes-based development environment for testing power management solutions without physical hardware. It ships with four deployment profiles so you can choose a starting point for your goals.
Deployment Profiles#
Default - Blank DPS environment with no topology or simulators running. Recommended starting point for hands-on
dpsctlexercises and API exploration.Hardware Emulation - 144 emulated DGX GB300 nodes across 8 racks with pseudorandom hardware responses. Best for general API development, integration validation, and automated playbooks.
Workload-Aware - Same 144-node GB300 topology, but the BMC simulator calls a pluggable workload model over gRPC to return realistic GPU power traces. Best for power-aware analysis and workload optimization studies. Refer to Workload-Aware Simulation.
Pilot - 72 simulated GB300 nodes across four racks for rehearsing the MaxLPS power pilot. Replay a power trace on three racks for the baseline and four racks under MaxLPS, then compare simulated GPU power in Grafana. Follow Rehearse the MaxLPS Power Pilot With the SDK Simulator.
What’s Included#
Emulated Infrastructure (Hardware Emulation and Workload-Aware)#
144 DGX GB300 Compute Nodes - Organized across 8 racks (18 nodes per rack)
Complete Power Distribution Hierarchy - Utility, Switchboard, Floor PDUs, Rack PSUs, Compute Systems
BMC Simulator - Provides Redfish API endpoints for all emulated nodes
For this general eight-rack topology, refer to SDK Simulator Topology. The Pilot profile uses a separate four-rack topology, described in Rehearse the MaxLPS Power Pilot With the SDK Simulator. It demonstrates configuration and control behavior with simulated hardware; inference performance and physical power compliance require real systems.
Policy Bundles (all profiles)#
The DPS server bootstraps the MaxP, MaxQ, and MaxLPS
policy bundles regardless of which deployment profile you run, including
Default. The SDK also includes sim/policy-bundles/sdk-site-balanced.yaml, a
tutorial file that you load as the sdk-site-balanced bundle rather than a
fourth server preset. It is distinct from the guide’s downloadable
site-balanced example: the files and stored names differ, although their
current policy payloads are identical.
The Simulator Playbooks guide covers loading and inspecting bundles as part of the Default-profile walkthrough.
Monitoring and Visualization#
Grafana Dashboards - Real-time metrics for datacenter power, resource groups, and system operations
Prometheus - Time-series metrics collection and alerting
Pyroscope - Continuous profiling for performance analysis
Web UI - Interactive interface for managing DPS
Automated Simulation Playbooks#
Resource Group Simulation - Automated workload lifecycle testing with configurable parameters
Grid Simulation - Domain-level power management and grid integration testing
Load Shedding Simulation - Power reduction events and recovery scenarios
Combined Simulations - Run multiple scenarios simultaneously for thorough testing
Use Cases#
The simulator is ideal for:
Learning DPS - Explore concepts, APIs, and workflows in a safe environment
SDK Development - Build and test custom integrations without hardware dependencies
Partner Integration - Develop grid or optimization integrations
Quick Start - Jump-start your custom datacenter deployment
Quick Start#
System Requirements:
Linux (Ubuntu/Debian) or macOS
Minimum 8 GB RAM, 20 GB free disk space
Internet connection for dependencies
Setup Instructions:
Download and unarchive the DPS SDK files from the NVIDIA NVOnline Portal.
Install SDK dependencies. From the SDK directory, run:
cd dps-sdk task setup
This installs docker, kubectl, k3d, helm, helm-git, uv, and
dpsctl.Deploy the Default profile. This is the recommended starting point - a blank DPS environment with no topology loaded:
task deployConfigure your shell for
dpsctl. Paste these exports once to avoid repeating connection flags on every command:export DPSCTL_HOST=api.dps.sdk export DPSCTL_PORT=80 export DPSCTL_INSECURE_TLS_SKIP_VERIFY=true
Continue with the Default-profile playbook. The Simulator Playbooks guide walks you through importing the topology, creating resource groups, and setting grid load targets with
dpsctl.
Other Deployment Paths#
Hardware Emulation (automated playbooks):
task sdk task sim
task sdkcreates the k3d cluster and deploys DPS;task simimports the topology and runs the combined resource-groups plus grid simulation.Workload-Aware (realistic power traces): Refer to Workload-Aware Simulation for the full deployment flow.
Pilot (MaxLPS power-pilot rehearsal): After
task setup, deploy the dedicated profile:task deploy:pilotContinue with Rehearse the MaxLPS Power Pilot With the SDK Simulator to import the topology, prepare the unmanaged baseline, and run the managed comparison.
Access Services#
After deployment, the SDK exposes these endpoints:
Service |
URL |
Default Auth |
|---|---|---|
DPS API (gRPC) |
|
|
DPS Web UI |
|
|
Grafana |
|
|
Prometheus |
|
- |
Alertmanager |
|
- |
Pyroscope |
|
- |
Next Steps#
Simulator Playbooks - Default-profile walkthroughs and Hardware Emulation automated simulations.
Simulator Topology Guide - GB300 datacenter topology reference.
Workload-Aware Simulation - Deploy and use the surrogate workload model.
Rehearse the MaxLPS Power Pilot With the SDK Simulator - Rehearse the MaxLPS workflow with the Pilot profile and compare simulated GPU power.