This release is a pre-release and may not be stable for production use.
TritonParse
A comprehensive visualization and analysis tool for Triton kernel compilation and launch — helping developers analyze, debug, and understand Triton kernel compilation processes.
✨ Key Features
🔍 Visualization & Analysis
- 🚀 Launch Difference Analysis - Detect and visualize kernel launch parameter variations
- 📊 IR Code View - Side-by-side IR viewing with synchronized highlighting and line mapping
- 🔄 File Diff View - Compare kernels across different trace files side-by-side
- 📝 Multi-format IR Support - View TTGIR, TTIR, LLIR, PTX, and AMDGCN
- 🎯 Interactive Code Views - Click-to-highlight corresponding lines across IR stages
🔧 Reproducer & Debugging Tools
- 🔄 Standalone Script Generation - Extract any kernel into a self-contained Python script
- 💾 Tensor Data Reconstruction - Preserve actual tensor data or use statistical approximation
- 🎯 Custom Templates - Flexible reproducer templates for different workflows
- 🐛 Bug Isolation - Share reproducible test cases for debugging and collaboration
📊 Structured Logging & Analysis
- 📝 Compilation & Launch Tracing - Capture detailed events with source mapping
- 🔍 Stack Trace Integration - Full Python stack traces for debugging
- 📈 Metadata Extraction - Comprehensive kernel statistics
🛠️ Developer Tools
- 🌐 Browser-based Interface - No installation required, works in your browser
- 🔒 Privacy-first - All processing happens locally, no data uploaded
🚀 Quick Start
1. Installation
Four options to install:
# install nightly version
pip install -U --pre tritonparse
# install stable version
pip install tritonparse
# install from source
git clone https://github.com/meta-pytorch/tritonparse.git
cd tritonparse
pip install -e .
# pip install the latest version from github
pip install git+https://github.com/meta-pytorch/tritonparse.git
Prerequisites: Python ≥ 3.10, Triton ≥ 3.4.0, GPU required (NVIDIA/AMD)
TritonParse relies on new features in Triton. If you're using nightly PyTorch, Triton is already included. Otherwise, install the latest Triton:
pip install triton
2. Generate Traces
import tritonparse.structured_logging
import tritonparse.utils
# Initialize logging
tritonparse.structured_logging.init("./logs/", enable_trace_launch=True)
# Your Triton/PyTorch code here
# ... your kernels ...
# Parse and generate trace files
tritonparse.utils.unified_parse("./logs/", out="./parsed_output")
📝 Example output (click to expand)
================================================================================
📁 TRITONPARSE PARSING RESULTS
================================================================================
📂 Parsed files directory: /scratch/findhao/tritonparse/tests/parsed_output
📊 Total files generated: 2
📄 Generated files:
1. 📝 dedicated_log_triton_trace_findhao__mapped.ndjson.gz (7.2KB)
2. 📝 log_file_list.json (181B)
================================================================================
✅ Parsing completed successfully!
================================================================================
3. Visualize Results
Visit https://meta-pytorch.org/tritonparse/ and open your local trace files (.ndjson.gz format).
🔒 Privacy Note: Your trace files are processed entirely in your browser - nothing is uploaded to any server!
4. Generate Reproducers (Optional)
Extract any kernel into a standalone, executable Python script for debugging or testing:
# Generate reproducer for the first launch event
# (--line is 0-based: line 0 is compilation event, line 1 is first launch event)
tritonparseoss reproduce ./parsed_output/trace.ndjson.gz --line 1 --out-dir repro_output
# Run the generated reproducer
cd repro_output/<kernel_name>/
python repro_*.py
Python API:
from tritonparse.reproducer.orchestrator import reproduce
result = reproduce(
input_path="./parsed_output/trace.ndjson.gz",
line_index=0, # 0-based index (first event is 0)
out_dir="repro_output"
)
🎯 Common Reproducer Use Cases (click to expand)
- 🐛 Bug Isolation: Extract a failing kernel into a minimal standalone script
- ⚡ Performance Testing: Benchmark specific kernels without running the full application
- 🤝 Team Collaboration: Share reproducible test cases with colleagues or in bug reports
- 📊 Regression Testing: Compare kernel behavior and performance across different versions
- 🔍 Deep Debugging: Modify and experiment with kernel parameters in isolation
📚 Complete Documentation
| 📖 Guide | Description |
|---|---|
| 🏠 Wiki Home | Complete documentation and quick navigation |
| 📦 Installation | Setup guide for all scenarios |
| 📋 Usage Guide | Complete workflow, reproducer generation, and examples |
| 🌐 Web Interface | Master the visualization interface |
| 🔧 Developer Guide | Contributing and architecture overview |
| 📝 Code Formatting | Formatting standards and tools |
| ❓ FAQ | Quick answers and troubleshooting |
📊 Understanding Triton Compilation
TritonParse visualizes the complete Triton compilation pipeline:
Python Source → TTIR → TTGIR → LLIR → PTX/AMDGCN
Each stage can be inspected and compared to understand optimization transformations.
🤝 Contributing
We welcome contributions! Please see our Developer Guide for:
- Development setup and prerequisites
- Code formatting standards (Formatting Guide)
- Pull request and code review process
- Testing guidelines
- Architecture overview
📞 Support & Community
- 🐛 Report Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📚 Documentation: TritonParse Wiki
📄 License
This project is licensed under the BSD-3 License - see the LICENSE file for details.
✨ Ready to get started? Visit our Installation Guide or try the online tool directly!
Release files for tritonparse 0.3.2.dev20251203071556
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tritonparse-0.3.2.dev20251203071556.tar.gz | 536.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tritonparse-0.3.2.dev20251203071556-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 651.8 kB
Release files / tritonparse-0.3.2.dev20251203071556.tar.gz
| Download URL | tritonparse-0.3.2.dev20251203071556.tar.gz |
|---|---|
| Size | 536.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30321a7a7d10f576926c89f9e02d8911fb6ecee5c1ab7f51b2b9d572774c0a11
|
|
BLAKE2b-256 checksum How to use checksums |
f6f5970e7195417e6767ada23249399c91d3c0f2d82446b113079ca9cf968914
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / tritonparse-0.3.2.dev20251203071556-py3-none-any.whl
| Download URL | tritonparse-0.3.2.dev20251203071556-py3-none-any.whl |
|---|---|
| Size | 115.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff92f369904b5fdbaf60f40ba0e83a3f89bcfde53170fa49d58df4122984e4a6
|
|
BLAKE2b-256 checksum How to use checksums |
27d3d85463a2502357e5822bfb342836c3f19ccfa98e1df9248e3d0c9004ef05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|