Skip to content

PyPTO Toolkit User Guide

PyPTO Toolkit is a VS Code extension for PyPTO operator developers. This guide focuses on the runtime and compilation visualization features provided for PyPTO 3.0. These features help you inspect task timelines, analyze task dependencies, and identify IR changes introduced by compiler passes.

Key features

Analysis Input Purpose
Chip Swimlane chip_swimlane_records.json Inspect the runtime timeline of AICore workers, the AICPU scheduler, and the orchestrator
Serving Strace Swimlane serving-strace-swimlane.json Inspect the Serving task timeline and aggregate task count and duration by WorkerProcess
Task Dependency Graph deps.json Inspect tasks, tensors, predecessor and successor relationships, and redundant dependencies
Function Performance name_map*.json and a swimlane file in the same directory Aggregate invocation count and maximum, minimum, and average duration by function
IR Pass Trace A passes_dump* directory Compare consecutive Python IR snapshots before and after compiler passes
Memory Reuse Analysis A pass dump processed by memory_map Inspect on-chip memory placement and reuse across address and lifetime

Install the extension Quick start

  1. Download and install the VSIX from the latest GitHub Release.
  2. Keep the dfx_outputs and passes_dump* generated by PyPTO 3.0 in your VS Code workspace.
  3. Open chip_swimlane_records.json first to locate expensive tasks and scheduling phases.
  4. Open deps.json in the same directory to inspect task dependencies and redundant edges.
  5. If the output includes serving-strace-swimlane.json, open it to compare task count and duration across WorkerProcess instances.
  6. Open the corresponding passes_dump* directory when you need to identify compiler changes or analyze memory reuse with memory_map.

Documentation scope

This guide documents only the PyPTO 3.0 features that are connected end to end and ready for users.

Feedback

To report a problem, open an issue in hw-native-sys/pypto-tools. Include the extension version, input file type, reproduction steps, and error details whenever possible. Before using the extension, read the terms and disclaimer in the repository README.