Skip to content

[Parsing] Allow workload-specific scenario overrides - #1076

Open
podkidyshev wants to merge 6 commits into
mainfrom
ipod/scenario-override-any
Open

podkidyshev wants to merge 6 commits into
mainfrom
ipod/scenario-override-any

Conversation

@podkidyshev

@podkidyshev podkidyshev commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Scenario entries can override workload-specific test definition fields without adding each field to TestRunModel. Explicitly supplied workload fields pass through to the existing merge and are validated by the selected workload. Scenario run controls remain separate, and referenced tests still cannot override test_template_name.

The NeMo Launcher FP8 two-node scenario now references the BF16 test TOML and overrides cmd_args.training.model.fp8 and extra_cmd_args. Both checked-in scenarios that used the duplicate FP8 test file were updated, and the duplicate was removed. The tutorial documents the shared override rule.

Test Plan

  • Automated CI (parsing affected only)

Additional Notes

N/A

Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: NVIDIA/cloudai/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 09b194cd-af61-412f-ae48-dbef96395b1e

📥 Commits

Reviewing files that changed from the base of the PR and between 01582d9 and 3519c88.

📒 Files selected for processing (1)
  • conf/experimental/test_scenario/nemo_launcher_nemotron_15b_fp8.toml

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review.


📝 Walkthrough

Walkthrough

Scenario serialization now includes explicitly set workload-specific fields. Nemotron FP8 scenarios reference BF16 test configurations and specify FP8 arguments. Documentation describes scenario override limits and removes prior guidance against workload-specific scenario arguments.

Changes

Scenario workload overrides

Layer / File(s) Summary
Serialize workload-specific scenario overrides
src/cloudai/models/scenario.py, tests/test_test_scenario.py, doc/Tutorial.rst, doc/workloads/sglang.rst, doc/workloads/vllm.rst
TestRunModel allows extra fields, and tdef_model_dump serializes explicitly set fields outside the scenario-level field set. Tests cover SGLang semantic evaluation argument overrides through path and test_name references, and check that an unknown field raises TestConfigParsingError. The documentation describes scenario override limits and removes guidance that workload-specific arguments require a separate test definition.
Update Nemotron FP8 scenario references
conf/experimental/test_scenario/nemo_launcher_nemotron_15b_fp8.toml, conf/experimental/test_scenario/nemo_launcher_nemotron_15b_fp8_2_node.toml, conf/experimental/test/nemo_launcher_nemotron_15b_fp8_2_node.toml
Both scenarios reference BF16 test configurations and add names, descriptions, and FP8 arguments. The two-node scenario retains its node count. The separate two-node FP8 test configuration is removed.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 3519c

The scenarios preserve the two-node FP8 configuration while reusing the BF16 definition. No actionable merge risk was identified.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: enabling workload-specific scenario overrides.
Description check ✅ Passed The description accurately covers the parsing changes, NeMo configuration updates, documentation changes, and test plan.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Comment @coderabbitai help to get the list of available commands.

@podkidyshev podkidyshev self-assigned this Oct 1, 2026
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
@podkidyshev

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.

@podkidyshev podkidyshev changed the title Allow workload-specific scenario overrides [Parsing] Allow workload-specific scenario overrides Oct 1, 2026
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
@podkidyshev
podkidyshev marked this pull request as ready for review October 1, 2026 18:49

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant