NVIDIA-NeMo / NVIDIA-NeMo/DataDesigner

Run, observe, and analyze Slurm benchmarks

Open
#877 1 comment 0 reactions 1 assignee View on GitHub

@andreatnvidia is already working on this.

Since Aug 24, 2026.

task
Dominant language
Python
Stars
2.2k
Forks
211
Avg merge
2d 6h
Merged PRs (30d)
40

Description

Priority Level

High

Task Summary

Implement deterministic benchmark expansion, batch execution, fresh-process observation, and analysis for the optional Slurm integration.

Technical Details & Implementation Plan
  • Expand strict benchmark intent into deterministic child run configurations and immutable benchmark records.
  • Submit child runs through the public Slurm execution service and return without resident monitoring.
  • Persist benchmark-to-run identity so later processes can observe and analyze the same children.
  • Refresh child state through normalized scheduler and persisted-state evidence.
  • Compute stable aggregate analysis from validated child results while preserving failed, incomplete, and missing-run classifications.
  • Expose equivalent Python service and CLI operations for benchmark run and analyze workflows.
Acceptance criteria
  • Equivalent benchmark input expands to the same ordered child runs and digests.
  • Benchmark submission returns after scheduling children and does not require a resident controller.
  • Analysis works from a fresh process and never guesses success from incomplete evidence.
  • Missing, failed, partial, stale, and scheduler-inconsistent child runs remain explicit in results.
  • Local/fake tests cover expansion, submission, refresh, mixed outcomes, and deterministic analysis.
  • Real-cluster acceptance validates at least one multi-run benchmark workflow before release.
Out of scope
  • Interactive dashboards or resident monitoring.
  • New benchmark algorithms unrelated to Slurm execution.
  • Generic scheduler or platform adapters.
Investigation / Context

This is the benchmark implementation lane in #850. #865 and #872 explicitly exclude benchmark implementation, while #870 treats benchmark analysis as a final acceptance scenario.

Agent Plan / Findings

Reuse the same immutable planning, execution, and state contracts as ordinary runs; benchmark records should add hierarchy and analysis intent rather than a second control plane.

Dependencies

Depends on shared benchmark records in #873, fake infrastructure in #872, deterministic planning in #875, the client worker in #876, the public service foundation and operational run/observe capabilities from 874#1 and 874#2, the one-node runtime capability from 868#2, and the persistence, winner, observation, and reconciliation capabilities from 869#1, 869#2, and 869#3. It does not depend on distributed/failure hardening in 868#3, retry/collection in 869#4, or the later 874#3, 874#4, and 874#5 slices.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.