feat(slurm): add deterministic benchmark workflows - #932
Conversation
|
Fern preview: https://nvidia-preview-pr-932.docs.buildwithfern.com/nemo/datadesigner
|
|
|
Thanks for putting this together, @andreatnvidia! SummaryThis adds deterministic benchmark expansion, ordinary child-run submission, persisted observation, analysis, CLI wiring, and user documentation, which matches the stated intent of the PR. I also independently confirmed the cross-shard timing and aggregate GPU-cost findings already posted by Greptile, so I have not duplicated them below. FindingsCritical — Let's fix these before merge
Warnings — Worth addressing
Suggestions — Take it or leave it
What Looks Good
Residual RiskReal-cluster acceptance remains deferred, so scheduler/accounting behavior and the reported measurements still need the release-gate validation described in the PR. VerdictNeeds changes — Please resolve the concurrent child-submission race and profile-provenance loss, along with the two already-open timing/cost findings, before merge. The nested CLI callbacks are non-blocking cleanup. This review was generated by an AI assistant. |
|
Thanks for the thorough follow-up, @andreatnvidia. I re-reviewed the complete PR at SummaryThe current head resolves the previously blocking child-submission race, prevents one failed submission from cancelling another job's attempt, preserves selected-profile provenance, and corrects cross-shard timing and target-cost accounting. FindingsNo new blocking or warning-level findings. The previously noted nested CLI callback cleanup remains an optional style nit, so I have not repeated it as a new finding. What Looks Good
Residual RiskReal multi-node scheduler/accounting timing and reported benchmark measurements still need the PR's documented cluster acceptance run. VerdictShip it with nits. The correctness and provenance findings are fixed; the remaining previously raised callback-flattening suggestion is non-blocking. This review was generated by an AI assistant. |
|
@nabinchha Thanks, these were valid. Commit Benchmark child construction also reuses the original I left the nested Typer callbacks unchanged since that is non-blocking cleanup and would be an unrelated CLI refactor. |
|
@nabinchha I addressed the remaining CLI callback nit in |
|
Thanks for addressing the remaining callback cleanup, @andreatnvidia. I re-reviewed PR #932 at SummaryThe latest commit matches its stated intent: the avoidable inner run/analyze callbacks are now typed module-level helpers, while the Typer command closures that materially capture the app dependencies remain in place. The refactor preserves the existing command inputs, service construction, source-root handling, error boundary, and emitted result behavior. FindingsNo new findings. What Looks Good
Residual RiskThe earlier real-cluster acceptance caveat remains unchanged; this refactor itself does not alter scheduler or benchmark execution behavior. VerdictShip it. The last optional callback-flattening nit is resolved cleanly, with no new correctness or maintainability concerns. This review was generated by an AI assistant. |
Summary
Validation
Real-cluster acceptance remains a release gate because no cluster profile or Slurm environment is available in this workspace.
Closes #877
Part of #874