Skip to content

[Feature] Add idle (gap) and wall time (span) rows to layer detail re… - #1

Open
akao-amd wants to merge 5 commits into
yichiche:mainfrom
akao-amd:main
Open

[Feature] Add idle (gap) and wall time (span) rows to layer detail re…#1
akao-amd wants to merge 5 commits into
yichiche:mainfrom
akao-amd:main

Conversation

@akao-amd

Copy link
Copy Markdown

No description provided.

akao-amd and others added 5 commits April 11, 2026 06:48
- PythonSourceIndex gains get_callstack() / _find_callstack(): collects
  all python_function frames enclosing a kernel launch timestamp, sorted
  outermost-first (widest span first), stripping boilerplate wrappers.
- KernelDetail gains a callstack slot populated during correlation.
- KernelCorrelator.correlate() stores _callstack on each kernel event.
- ReportGenerator.write_callstack_markdown() writes a Markdown file
  covering the same representative module instances as the Excel detail
  tabs, with per-kernel metadata tables and full call stack blocks.
- New --callstack-md PATH argument; works standalone without -o.
- Auto-selection uses self_kernel_time (not total) so container modules
  don't outrank the leaf layer types that own the actual work.

Co-Authored-By: Claude <noreply@anthropic.com>
Generates a self-contained HTML file (no server needed) with:

- Tab per selected module type showing instance count and kernel count
- Kernel timeline chart: bar per kernel (execution order on X), Y = avg
  duration (µs) across all layer instances, error bars show min/max variance
- Category bar chart: horizontal bars summing avg duration per category;
  updates live as kernels are reassigned via drag-and-drop
- Category buckets: one chip per unique kernel type (not one per occurrence);
  dragging a chip reassigns all occurrences of that kernel in the layer;
  chip shows repeat count (e.g. "×2") when the kernel appears multiple times
- Hover tooltips on all bars and chips with full kernel name, module path,
  category, avg/min/max, input dims, and launch source
- Collapsible table view with all kernels in execution order
- Light/dark mode via CSS custom properties and prefers-color-scheme
- Categorical palette from the validated dataviz reference (8-slot fixed order,
  CVD-safe adjacent ordering)

Works standalone without -o. Use --detail-module to target a specific layer
type (e.g. --detail-module GptOssDecoderLayer). Auto-selection uses
self_kernel_time ranking so container wrappers don't outrank leaf modules.

Co-Authored-By: Claude <noreply@anthropic.com>
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