Skip to content

Feature/genesis extension - #866

Open
Ahmedhasssan-aig wants to merge 2 commits into
mainfrom
feature/genesis-extension
Open

Feature/genesis extension#866
Ahmedhasssan-aig wants to merge 2 commits into
mainfrom
feature/genesis-extension

Conversation

@Ahmedhasssan-aig

Copy link
Copy Markdown
Contributor

Summary

Adds a Genesis/Taichi physics-simulation profiling extension to TraceLens. It combines rocprof kernel analysis with pftrace HIP-activity and memory-copy reports, categorizes physics kernels, and isolates the steady-state simulation window (excluding JIT/build overhead) for accurate performance numbers.

What's new

  • New report generator TraceLens_generate_perf_report_genesis that consumes a rocprofv3 capture directory and emits a physics-focused performance report.
  • Physics kernel categorization — groups kernels by role (Rigid Body Solver, Collision, Time Integration, etc.).
  • Steady-state isolation — automatically splits JIT/build overhead from the actual simulation window so metrics reflect real runtime.
  • Multi-source analysis — merges kernel dispatches (CSV), HIP activity + memory copies (pftrace), with a native rocprof JSON fallback.

Inputs

Captured via rocprofv3 --hip-trace --kernel-trace --memory-copy-trace --output-format pftrace. Expects profile_output//kernel_trace/ (requires kernel_kernel_trace.csv; uses kernel_results.pftrace/kernel_results.json as available), with optional run.log (auto-detects benchmark wall-time) and combined_manifest.json (capture metadata).

Outputs

  • genesis_perf_report.xlsx — GPU timeline, kernel summary by physics category, HIP activity, and memory-copy sheets.
  • genesis_summary.md — steady-state GPU utilization overview + top kernels.

Key options

  • --steady-state-gap-ms (default 1000) — gap threshold to split JIT from simulation.
  • --steady-state-fallback-s — override the timed window (default auto-detected from run.log).
  • --include-api — include HIP/HSA API events in the rocprof JSON.
  • --keep-work — retain intermediate files for debugging.

Hasssan and others added 2 commits June 2, 2026 16:27
Add TraceLens extension for Genesis/Taichi physics simulation workloads:
- Steady-state GPU timeline (post-JIT simulation burst detection)
- Genesis physics kernel categorization (rigid body, collision, etc.)
- Capture directory loading for run_combined_trace.sh output
- CSV-to-JSON fallback for rocprof traces with invalid UTF-8
- Combined Excel + Markdown summary report generation

Co-authored-by: Cursor <cursoragent@cursor.com>
Brief trace capture instructions, expected directory layout,
CLI usage, and key options for the genesis perf report extension.

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

@gabeweisz gabeweisz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good and will not break anything, but we need to add some tests and fix the failing doc creation

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