You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Feature Request] Support Tencent HunYuan world-model workloads
1. Background
We are profiling and optimizing Tencent's HunYuan world-model family on AMD ROCm GPUs and integrating TraceLens into an automated optimization pipeline (roofline analysis, kernel-agent prioritization, trace comparison). The current TraceLens pipeline works well for LLM inference (vLLM/SGLang), but HunYuan workloads expose multiple gaps that prevent end-to-end analysis or produce degraded/misleading results.
This issue requests TraceLens support for three related model families:
~1.3B feed-forward model, single forward pass per scene (NOT an LLM)
These workloads share a common theme: they are not autoregressive LLM decode workloads, and their trace structure differs fundamentally from the prefill/decode steady-state that TraceLens currently optimizes for.
When running trace_analyze on HunyuanVideo-1.5 / WorldPlay traces, the steady-state splitter fails because it expects LLM autoregressive decode structure:
This is closely related to #784 (xDiT/Diffusion workloads) but extends to video diffusion (3D conv, temporal attention, VAE decode) and streaming frame generation (WorldPlay).
2.2 HIP/CUDA Graph attribution degradation
When profiling under torch.compile(mode='reduce-overhead') or CUDA/HIP graph capture (common in served WorldPlay and WorldMirror configs), kernels collapse into hipGraphLaunch / graph replay events. TraceLens then reports:
0 identifiable hot kernels in the session-level roofline composite
"No roofline snapshot" in final reports
Eager-profile roofline renders correctly, but served (compiled) configs — which represent production performance — cannot be analyzed
2.3 Vendor library kernels fall into other or are skipped
Hot kernels in Hunyuan workloads are predominantly vendor/library binaries with no resolvable source:
3D convolutions via MIOpen/CK (igemm_fwd_*, grouped-conv) — categorized as aten::convolution backed by PyTorch Native, skipped or low-efficiency attribution
GEMMs via hipBLASLt/Tensile — partial roofline but often in 30–60% efficiency band without actionable bound type
SDPA/flash attention (aten::_scaled_dot_product_flash_attention, attn_fwd) — source not found, skipped by kernel-agent downstream tools
Extend steady-state detection beyond LLM prefill/decode. Support at least:
Option A (recommended): Generic "split by externally-provided annotation markers" mode. Caller emits record_function ranges (e.g., denoise_step, frame_generate, forward_pass) and TraceLens splits on those markers.
Option B: Periodicity detection over kernel signatures for repeated denoising-step / per-frame patterns.
Each HunYuan model family has a distinct periodic structure:
HunyuanVideo-1.5: N denoising steps per video (highly repetitive full DiT forward passes)
WorldPlay: Per-frame streaming generation with context memory rebuild
HunyuanWorld-Mirror / HY-World-2.0: Single forward pass (no periodic loop — treat entire steady window as one unit)
Requirement 2: PerfModel coverage for video/3D operators
HunyuanWorld-Mirror trace: Single-forward-pass workload analyzed end-to-end with workload_type=3d_reconstruction, throughput_unit=recon/sec.
HIP Graph traces: Either full kernel attribution under graph capture, or explicit degraded mode with actionable guidance (not silent 0-kernel roofline).
PerfModel: 3D conv, temporal attention, and cross-attention operators receive bound type and efficiency metrics (not other/skipped).
Output metadata:workload_type and throughput_unit present in report output for all three model families.
[Feature Request] Support Tencent HunYuan world-model workloads
1. Background
We are profiling and optimizing Tencent's HunYuan world-model family on AMD ROCm GPUs and integrating TraceLens into an automated optimization pipeline (roofline analysis, kernel-agent prioritization, trace comparison). The current TraceLens pipeline works well for LLM inference (vLLM/SGLang), but HunYuan workloads expose multiple gaps that prevent end-to-end analysis or produce degraded/misleading results.
This issue requests TraceLens support for three related model families:
These workloads share a common theme: they are not autoregressive LLM decode workloads, and their trace structure differs fundamentally from the prefill/decode steady-state that TraceLens currently optimizes for.
2. Symptoms Observed
2.1 Steady-state splitting failures (video/diffusion workloads)
When running
trace_analyzeon HunyuanVideo-1.5 / WorldPlay traces, the steady-state splitter fails because it expects LLM autoregressive decode structure:steady_state_chunk_empty/steady_state_chunk_missingtrace_split_no_steady_stateThis is closely related to #784 (xDiT/Diffusion workloads) but extends to video diffusion (3D conv, temporal attention, VAE decode) and streaming frame generation (WorldPlay).
2.2 HIP/CUDA Graph attribution degradation
When profiling under
torch.compile(mode='reduce-overhead')or CUDA/HIP graph capture (common in served WorldPlay and WorldMirror configs), kernels collapse intohipGraphLaunch/ graph replay events. TraceLens then reports:Related: #591 (CUDA Graph benchmark), #608 (framework-agnostic graph capture correlation).
2.3 Vendor library kernels fall into
otheror are skippedHot kernels in Hunyuan workloads are predominantly vendor/library binaries with no resolvable source:
igemm_fwd_*, grouped-conv) — categorized asaten::convolutionbacked by PyTorch Native, skipped or low-efficiency attributionaten::_scaled_dot_product_flash_attention,attn_fwd) — source not found, skipped by kernel-agent downstream tools2.4 Wrong workload metadata in output
Executive summaries default to token-oriented metrics (tok/s, TPOT). Hunyuan workloads need:
images/secorframes/secfpsrecon/sec(1/mean_latency)assets/sec3. Requirements
Requirement 1 (primary): Multi-modal steady-state splitting
Extend steady-state detection beyond LLM prefill/decode. Support at least:
record_functionranges (e.g.,denoise_step,frame_generate,forward_pass) and TraceLens splits on those markers.Each HunYuan model family has a distinct periodic structure:
Requirement 2: PerfModel coverage for video/3D operators
Extend perf models beyond transformer-decoder + MoE. Priority operators:
Conv3d,ConvTranspose3d, Im2Col/Im3d2Col pathsRequirement 3: HIP/CUDA Graph kernel attribution
When traces contain graph capture/replay events, TraceLens should:
hipGraphLaunch/cudaGraphLaunchback to constituent kernels (or provide a degraded-but-useful attribution mode)cuda_graph_attribution_degradedflag when full attribution is impossible, with guidance to profile eager for roofline snapshotRequirement 4: Workload-type metadata in output
Explicitly emit in
analysis.md/ JSON output:workload_type(e.g.,video_diffusion,streaming_world_model,3d_reconstruction)throughput_unit(e.g.,fps,images/sec,recon/sec)4. Acceptance Criteria
trace_analyzecompletes withouttrace_split_no_steady_state; steady-state chunks align with denoising-step periods.workload_type=3d_reconstruction,throughput_unit=recon/sec.other/skipped).workload_typeandthroughput_unitpresent in report output for all three model families.5. Related Issues
6. Reproduction Materials (available on request)
*.pt.trace.json.gz) for HunyuanVideo-1.5 (WorldPlay bench), HunyuanWorld-Mirror (30-scene suite), and HY-World-2.0trace_analyzefailure logs and roofline composite degradation evidencemodel_arch.jsonwith layer mix, precision, operator shapes)