Skip to content

Refactor Dynamo benchmark parsing and phase resolution - #1124

Open
podkidyshev wants to merge 1 commit into
ip/pareto-refactorfrom
ip/dynamo-pareto-refactor
Open

podkidyshev wants to merge 1 commit into
ip/pareto-refactorfrom
ip/dynamo-pareto-refactor

Conversation

@podkidyshev

@podkidyshev podkidyshev commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Move the existing Dynamo CSV parser and benchmark result model into the test-definition module. Share AIPerf phase resolution between execution and reporting so the following Pareto PR can reuse it. Existing parsing requirements, phase overrides, and artifact paths stay unchanged.

Test Plan

  • Existing Dynamo workload tests and pre-commit checks pass locally, including benchmark reporting and phase command generation. CI pending for the rebased branch.
  • Existing tests exercise the moved code through its original entry points; no additional tests are needed for these moves.

Additional Notes

Stacked on #1121. The Dynamo Pareto feature in #1115 stacks on this PR. All branches include the latest main and its CI fixes.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 21a8615 and 21a8615.

Files selected for processing: 3
  • src/cloudai/workloads/ai_dynamo/ai_dynamo.py
  • src/cloudai/workloads/ai_dynamo/report_generation_strategy.py
  • src/cloudai/workloads/ai_dynamo/slurm_command_gen_strategy.py

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

Walkthrough

The change centralizes AIPerf phase resolution and benchmark CSV parsing in the AI Dynamo module. The Slurm command-generation and report-generation strategies now delegate to those methods.

Changes: AI Dynamo execution and reporting

Layer / File(s) Summary
Resolve AIPerf phase configuration
src/cloudai/workloads/ai_dynamo/ai_dynamo.py, src/cloudai/workloads/ai_dynamo/slurm_command_gen_strategy.py
AIDynamoCmdArgs.resolve_aiperf_phase merges phase overrides into the base configuration. For multiple phases, missing artifact directories and report names receive phase-specific defaults. The Slurm strategy delegates phase resolution to this method.
Parse and normalize benchmark results
src/cloudai/workloads/ai_dynamo/ai_dynamo.py, src/cloudai/workloads/ai_dynamo/report_generation_strategy.py
AIDynamoTestDefinition.parse_benchmark_csv parses CSV metrics into AIDynamoBenchReport. It returns None for read or CSV errors, or when required mean TTFT, mean TPOT, or throughput values are missing. The report-generation strategy passes the selected CSV and maximum concurrency to this method.

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

Change: Refactor

Possibly related PRs

  • NVIDIA/cloudai#1018: Adds AI Dynamo multi-node execution and AIPerf multi-phase scenarios, which this change builds on by moving phase resolution into AIDynamoCmdArgs.
  • NVIDIA/cloudai#1121: Moves serving benchmark parsing into test definitions and adds shared LLM-serving report infrastructure, which this change applies to AI Dynamo.
Merge Risk: Minimal · up to 21a86

No actionable merge-blocking issue was identified.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title names the two main themes of the changeset: moving Dynamo benchmark CSV parsing and the benchmark result model into the test-definition module, and sharing AIPerf phase resolution between ex…
Description check Passed The description states that the Dynamo CSV parser and benchmark result model move into the test-definition module and that AIPerf phase resolution is shared between execution and reporting. This match…
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.
Full details: Title check

Explanation

The title names the two main themes of the changeset: moving Dynamo benchmark CSV parsing and the benchmark result model into the test-definition module, and sharing AIPerf phase resolution between execution and reporting. It is concise and specific, and a reviewer scanning history can identify the primary change.

Full details: Description check

Explanation

The description states that the Dynamo CSV parser and benchmark result model move into the test-definition module and that AIPerf phase resolution is shared between execution and reporting. This matches the raw summary, which shows parse_benchmark_csv, AIDynamoBenchReport, and resolve_aiperf_phase changes. It also covers the unchanged behavior and test plan.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@podkidyshev

Copy link
Copy Markdown
Contributor Author

/build

@podkidyshev podkidyshev self-assigned this Oct 30, 2026
@podkidyshev
podkidyshev force-pushed the ip/dynamo-pareto-refactor branch from 47c92ab to c4a19a4 Compare October 30, 2026 15:24
@podkidyshev

Copy link
Copy Markdown
Contributor Author

/build

@podkidyshev
podkidyshev force-pushed the ip/dynamo-pareto-refactor branch from c4a19a4 to 349a225 Compare October 30, 2026 20:18
Signed-off-by: Ivan Podkidyshev <ipodkidyshev@nvidia.com>
@podkidyshev
podkidyshev force-pushed the ip/dynamo-pareto-refactor branch from 349a225 to 21a8615 Compare October 30, 2026 20:28
@podkidyshev

Copy link
Copy Markdown
Contributor Author

/build

@podkidyshev
podkidyshev added this pull request to stack #1127 October 30, 2026 20:41

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