Skip to content

DFX and Profiling

Every profiling / diagnostics reference lives in this directory. Start with the framework doc if you are adding a collector, or jump straight to the per-feature doc for the data you want.

Analysis CLIs that consume these outputs are documented in simpler_setup/tools/README.md.

Framework and conventions

Document What it covers
Profiling Framework Collector architecture, host/device split, how perf levels gate collection
Profiling / DFX Configuration Naming Rules Naming conventions every new DFX knob must follow
Profiling Name Map func_id → human-readable name mapping consumed by the trace tools
Global DFX Backpressure Block-on-contention and dual-signal freeze across collectors
DFX Buffer Capacity Audit (a2a3) Per-buffer capacity accounting and overflow behavior

Timing and scheduling

Document What it covers
L2 Timing host_wall / device_wall / Effective / Orch / Sched breakdown from [STRACE]
Host runtime trace markers The [STRACE] marker set emitted by the host runtime
Device-side phase timing Fixed AICPU phases and the variable-phase plan
Scheduler-Overhead Model Is the scheduler the bottleneck, or starved — the model behind --overhead

Per-task traces

Document What it covers
L2 Swimlane Profiling Per-task timing and scheduler phases across cores
L0 Swimlane Profiling Intra-core AICore pipeline trace for a single task
PMU Profiling Per-task AICore hardware counters

Data and dependencies

Document What it covers
Args Dump Per-task argument capture, and replaying a task from it
dep_gen Complete per-submit dependency graph, tensor-annotated
Scope Stats Per-scope resource-usage peaks (ring fill, dep pool)
Document What it covers
Log System Log levels and sinks — the host/device logging path, distinct from profiling collectors
troubleshooting/ Device error codes and timeout defaults, for when a run fails rather than runs slowly