Skip to content

Generate perf reports from one YAML config - #1094

Draft
ajassani wants to merge 1 commit into
mainfrom
ajassani/perf-report-yaml-config
Draft

ajassani wants to merge 1 commit into
mainfrom
ajassani/perf-report-yaml-config

Conversation

@ajassani

@ajassani ajassani commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add python -m TraceLens.Reporting.generate_perf_report_from_config --config run.yaml, also installed as TraceLens_generate_perf_report_from_config.
  • The YAML is validated before any trace is opened. default calls the training report. inference_graph_capture, spec_dec, and pd_disaggregation call the inference report. Shared report kwargs are top-level and apply to every job. platform is a bundled arch name resolved through load_arch.
  • Unless the YAML turns them off, enable_pseudo_ops, group_by_num_kernels, include_call_stack, and group_by_parent_module default on when the selected function accepts them.
  • spec_dec and pd_disaggregation still call the inference report. spec_decode (method, num_spec_tokens) is checked and kept on the plan. PD writes perf_report_<role>_rank<r>. Comparison stays a separate step: one wrapper call per trace, then compare.

Test plan

  • pytest tests/test_perf_report_from_config.py (28 tests: schema, dispatch, recipe defaults, PD filenames, capture-merge hook, and a failed second job never calls the report function)
  • Run one training trace and one inference capture trace through a YAML and compare the sheets to the existing CLIs

Callers describe a run in one config instead of the flag matrix across the training and inference scripts. The wrapper validates that config before opening a trace and writes one report per job.

Co-authored-by: Cursor <cursoragent@cursor.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.47619% with 20 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...Lens/Reporting/generate_perf_report_from_config.py 90.47% 20 Missing ⚠️

📢 Thoughts on this report? Let us know!

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.

2 participants