tritonparse 0.2.4.dev20251006071528__tar.gz → 0.2.4.dev20251008071501__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tritonparse might be problematic. Click here for more details.
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.gitignore +1 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/PKG-INFO +36 -31
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/README.md +35 -30
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/pyproject.toml +1 -1
- tritonparse-0.2.4.dev20251008071501/run.py +8 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/__main__.py +1 -1
- tritonparse-0.2.4.dev20251006071528/run.py → tritonparse-0.2.4.dev20251008071501/tritonparse/cli.py +7 -4
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/context_manager.py +14 -1
- tritonparse-0.2.4.dev20251008071501/tritonparse/reproducer/templates/example.py +387 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/structured_logging.py +320 -3
- tritonparse-0.2.4.dev20251008071501/tritonparse/tools/load_tensor.py +74 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse.egg-info/PKG-INFO +36 -31
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse.egg-info/SOURCES.txt +1 -1
- tritonparse-0.2.4.dev20251008071501/tritonparse.egg-info/entry_points.txt +2 -0
- tritonparse-0.2.4.dev20251006071528/.github/copilot-instructions.md +0 -47
- tritonparse-0.2.4.dev20251006071528/tritonparse/reproducer/templates/example.py +0 -320
- tritonparse-0.2.4.dev20251006071528/tritonparse/tools/load_tensor.py +0 -58
- tritonparse-0.2.4.dev20251006071528/tritonparse.egg-info/entry_points.txt +0 -2
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/README.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/install-project.sh +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/install-triton-kernels.sh +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/install-triton.sh +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/run-tests.sh +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.ci/setup.sh +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.github/PAGES_SETUP.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.github/workflows/deploy-pages-standalone.yml +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.github/workflows/deploy-pages.yml +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.github/workflows/nightly-pypi.yml +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/.github/workflows/test.yml +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/CHANGELOG.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/CODE_OF_CONDUCT.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/CONTRIBUTING.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/LICENSE +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/Makefile +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/docs/README.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/docs/screenshots/code-comparison.png +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/docs/screenshots/kernel-overview.png +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/setup.cfg +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/README.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/parsed_output/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/parsed_output/f0_fc0_a0_cai-.ndjson.gz +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/parsed_output/log_file_list.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/parsed_output_complex/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/parsed_output_complex/log_file_list.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/example_output/repro/repro_context_20250816192455.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/test_add.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tests/test_tritonparse.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/common.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/event_diff.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/extract_source_mappings.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/ir_parser.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/mapper.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/cli.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/ingestion/ndjson.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/orchestrator.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/placeholder_replacer.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/templates/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/templates/loader.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/reproducer/utils.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/shared_vars.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/source_type.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/sourcemap_utils.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/__init__.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/decompress_bin_ndjson.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/disasm.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/format_fix.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/prettify_ndjson.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tools/readme.md +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/tp_logger.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/trace_processor.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse/utils.py +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse.egg-info/dependency_links.txt +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse.egg-info/requires.txt +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/tritonparse.egg-info/top_level.txt +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/eslint.config.js +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/index.html +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/package-lock.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/package.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/postcss.config.js +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/public/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/public/f0_fc0_a0_cai-.ndjson +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/public/favicon.ico +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/public/logo.svg +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/scripts/inline-html.js +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/App.css +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/App.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/assets/react.svg +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/ArgumentViewer.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/Callstack.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/CodeComparisonView.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/CodeViewer.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/CompilationInfo.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/CopyCodeButton.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/DataSourceSelector.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/DiffComparisonView.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/DiffViewer.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/ExternalLink.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/SingleCodeViewer.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/StackDiffViewer.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/ToggleSwitch.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/TritonIRs.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/components/WelcomeScreen.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/context/FileDiffSession.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/index.css +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/main.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/pages/CodeView.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/pages/FileDiffView.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/pages/KernelOverview.tsx +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/utils/dataLoader.ts +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/utils/fbDetection.ts +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/utils/safeImport.ts +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/utils/tensor.ts +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/src/vite-env.d.ts +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/tailwind.config.js +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/tsconfig.app.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/tsconfig.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/tsconfig.node.json +0 -0
- {tritonparse-0.2.4.dev20251006071528 → tritonparse-0.2.4.dev20251008071501}/website/vite.config.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tritonparse
|
|
3
|
-
Version: 0.2.4.
|
|
3
|
+
Version: 0.2.4.dev20251008071501
|
|
4
4
|
Summary: TritonParse: A Compiler Tracer, Visualizer, and mini-Reproducer Generator for Triton Kernels
|
|
5
5
|
Author-email: Yueming Hao <yhao@meta.com>
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -27,13 +27,22 @@ Dynamic: license-file
|
|
|
27
27
|
|
|
28
28
|
## ✨ Key Features
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
- **📊
|
|
33
|
-
- **🔄
|
|
34
|
-
- **📝
|
|
35
|
-
-
|
|
36
|
-
|
|
30
|
+
### 🔍 Visualization & Analysis
|
|
31
|
+
- **🚀 Launch Difference Analysis** - Detect and visualize kernel launch parameter variations
|
|
32
|
+
- **📊 IR Code View** - Side-by-side IR viewing with synchronized highlighting and line mapping
|
|
33
|
+
- **🔄 File Diff View** - Compare kernels across different trace files side-by-side
|
|
34
|
+
- **📝 Multi-format IR Support** - View TTGIR, TTIR, LLIR, PTX, and AMDGCN
|
|
35
|
+
- **🎯 Interactive Code Views** - Click-to-highlight corresponding lines across IR stages
|
|
36
|
+
|
|
37
|
+
### 📊 Structured Logging & Analysis
|
|
38
|
+
- **📝 Compilation & Launch Tracing** - Capture detailed events with source mapping
|
|
39
|
+
- **🔍 Stack Trace Integration** - Full Python stack traces for debugging
|
|
40
|
+
- **📈 Metadata Extraction** - Comprehensive kernel statistics
|
|
41
|
+
|
|
42
|
+
### 🛠️ Developer Tools
|
|
43
|
+
- **🔧 Reproducer Generation** - Generate standalone Python scripts to reproduce kernels
|
|
44
|
+
- **🌐 Browser-based Interface** - No installation required, works in your browser
|
|
45
|
+
- **🔒 Privacy-first** - All processing happens locally, no data uploaded
|
|
37
46
|
|
|
38
47
|
## 🚀 Quick Start
|
|
39
48
|
|
|
@@ -41,22 +50,22 @@ Dynamic: license-file
|
|
|
41
50
|
|
|
42
51
|
```python
|
|
43
52
|
import tritonparse.structured_logging
|
|
53
|
+
import tritonparse.utils
|
|
44
54
|
|
|
45
|
-
# Initialize logging
|
|
55
|
+
# Initialize logging
|
|
46
56
|
tritonparse.structured_logging.init("./logs/", enable_trace_launch=True)
|
|
47
57
|
|
|
48
58
|
# Your Triton/PyTorch code here
|
|
49
59
|
# ... your kernels ...
|
|
50
60
|
|
|
51
61
|
# Parse and generate trace files
|
|
52
|
-
|
|
53
|
-
tritonparse.utils.unified_parse("./logs/")
|
|
62
|
+
tritonparse.utils.unified_parse("./logs/", out="./parsed_output")
|
|
54
63
|
```
|
|
55
|
-
The example terminal output is:
|
|
56
|
-
```bash
|
|
57
|
-
tritonparse log file list: /tmp/tmp1gan7zky/log_file_list.json
|
|
58
|
-
INFO:tritonparse:Copying parsed logs from /tmp/tmp1gan7zky to /scratch/findhao/tritonparse/tests/parsed_output
|
|
59
64
|
|
|
65
|
+
<details>
|
|
66
|
+
<summary>📝 Example output (click to expand)</summary>
|
|
67
|
+
|
|
68
|
+
```bash
|
|
60
69
|
================================================================================
|
|
61
70
|
📁 TRITONPARSE PARSING RESULTS
|
|
62
71
|
================================================================================
|
|
@@ -64,13 +73,13 @@ INFO:tritonparse:Copying parsed logs from /tmp/tmp1gan7zky to /scratch/findhao/t
|
|
|
64
73
|
📊 Total files generated: 2
|
|
65
74
|
|
|
66
75
|
📄 Generated files:
|
|
67
|
-
--------------------------------------------------
|
|
68
76
|
1. 📝 dedicated_log_triton_trace_findhao__mapped.ndjson.gz (7.2KB)
|
|
69
77
|
2. 📝 log_file_list.json (181B)
|
|
70
78
|
================================================================================
|
|
71
79
|
✅ Parsing completed successfully!
|
|
72
80
|
================================================================================
|
|
73
81
|
```
|
|
82
|
+
</details>
|
|
74
83
|
|
|
75
84
|
### 2. Visualize Results
|
|
76
85
|
|
|
@@ -106,18 +115,13 @@ pip install triton
|
|
|
106
115
|
|
|
107
116
|
| 📖 Guide | Description |
|
|
108
117
|
|----------|-------------|
|
|
109
|
-
| **[🏠 Wiki Home](https://github.com/meta-pytorch/tritonparse/wiki)** | Complete documentation and navigation |
|
|
110
|
-
| **[📦 Installation
|
|
111
|
-
| **[📋 Usage Guide](https://github.com/meta-pytorch/tritonparse/wiki/02.-Usage-Guide)** | Complete workflow and
|
|
112
|
-
| **[🌐 Web Interface
|
|
113
|
-
| **[🔧 Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** | Contributing and
|
|
114
|
-
| **[
|
|
115
|
-
|
|
116
|
-
## 🛠️ Tech Stack
|
|
117
|
-
|
|
118
|
-
- **Frontend**: React 19, TypeScript, Vite, Tailwind CSS, Monaco Editor
|
|
119
|
-
- **Backend**: Python with Triton integration, structured logging
|
|
120
|
-
- **Deployment**: GitHub Pages, automatic deployment
|
|
118
|
+
| **[🏠 Wiki Home](https://github.com/meta-pytorch/tritonparse/wiki)** | Complete documentation and quick navigation |
|
|
119
|
+
| **[📦 Installation](https://github.com/meta-pytorch/tritonparse/wiki/01.-Installation)** | Setup guide for all scenarios |
|
|
120
|
+
| **[📋 Usage Guide](https://github.com/meta-pytorch/tritonparse/wiki/02.-Usage-Guide)** | Complete workflow, examples, and reproducer |
|
|
121
|
+
| **[🌐 Web Interface](https://github.com/meta-pytorch/tritonparse/wiki/03.-Web-Interface-Guide)** | Master the visualization interface |
|
|
122
|
+
| **[🔧 Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** | Contributing and architecture overview |
|
|
123
|
+
| **[📝 Code Formatting](https://github.com/meta-pytorch/tritonparse/wiki/05.-Code-Formatting)** | Formatting standards and tools |
|
|
124
|
+
| **[❓ FAQ](https://github.com/meta-pytorch/tritonparse/wiki/06.-FAQ)** | Quick answers and troubleshooting |
|
|
121
125
|
|
|
122
126
|
## 📊 Understanding Triton Compilation
|
|
123
127
|
|
|
@@ -130,9 +134,10 @@ Each stage can be inspected and compared to understand optimization transformati
|
|
|
130
134
|
## 🤝 Contributing
|
|
131
135
|
|
|
132
136
|
We welcome contributions! Please see our **[Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** for:
|
|
133
|
-
- Development setup
|
|
134
|
-
- Code formatting standards
|
|
135
|
-
- Pull request process
|
|
137
|
+
- Development setup and prerequisites
|
|
138
|
+
- Code formatting standards (**[Formatting Guide](https://github.com/meta-pytorch/tritonparse/wiki/05.-Code-Formatting)**)
|
|
139
|
+
- Pull request and code review process
|
|
140
|
+
- Testing guidelines
|
|
136
141
|
- Architecture overview
|
|
137
142
|
|
|
138
143
|
## 📞 Support & Community
|
|
@@ -9,13 +9,22 @@
|
|
|
9
9
|
|
|
10
10
|
## ✨ Key Features
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
- **📊
|
|
15
|
-
- **🔄
|
|
16
|
-
- **📝
|
|
17
|
-
-
|
|
18
|
-
|
|
12
|
+
### 🔍 Visualization & Analysis
|
|
13
|
+
- **🚀 Launch Difference Analysis** - Detect and visualize kernel launch parameter variations
|
|
14
|
+
- **📊 IR Code View** - Side-by-side IR viewing with synchronized highlighting and line mapping
|
|
15
|
+
- **🔄 File Diff View** - Compare kernels across different trace files side-by-side
|
|
16
|
+
- **📝 Multi-format IR Support** - View TTGIR, TTIR, LLIR, PTX, and AMDGCN
|
|
17
|
+
- **🎯 Interactive Code Views** - Click-to-highlight corresponding lines across IR stages
|
|
18
|
+
|
|
19
|
+
### 📊 Structured Logging & Analysis
|
|
20
|
+
- **📝 Compilation & Launch Tracing** - Capture detailed events with source mapping
|
|
21
|
+
- **🔍 Stack Trace Integration** - Full Python stack traces for debugging
|
|
22
|
+
- **📈 Metadata Extraction** - Comprehensive kernel statistics
|
|
23
|
+
|
|
24
|
+
### 🛠️ Developer Tools
|
|
25
|
+
- **🔧 Reproducer Generation** - Generate standalone Python scripts to reproduce kernels
|
|
26
|
+
- **🌐 Browser-based Interface** - No installation required, works in your browser
|
|
27
|
+
- **🔒 Privacy-first** - All processing happens locally, no data uploaded
|
|
19
28
|
|
|
20
29
|
## 🚀 Quick Start
|
|
21
30
|
|
|
@@ -23,22 +32,22 @@
|
|
|
23
32
|
|
|
24
33
|
```python
|
|
25
34
|
import tritonparse.structured_logging
|
|
35
|
+
import tritonparse.utils
|
|
26
36
|
|
|
27
|
-
# Initialize logging
|
|
37
|
+
# Initialize logging
|
|
28
38
|
tritonparse.structured_logging.init("./logs/", enable_trace_launch=True)
|
|
29
39
|
|
|
30
40
|
# Your Triton/PyTorch code here
|
|
31
41
|
# ... your kernels ...
|
|
32
42
|
|
|
33
43
|
# Parse and generate trace files
|
|
34
|
-
|
|
35
|
-
tritonparse.utils.unified_parse("./logs/")
|
|
44
|
+
tritonparse.utils.unified_parse("./logs/", out="./parsed_output")
|
|
36
45
|
```
|
|
37
|
-
The example terminal output is:
|
|
38
|
-
```bash
|
|
39
|
-
tritonparse log file list: /tmp/tmp1gan7zky/log_file_list.json
|
|
40
|
-
INFO:tritonparse:Copying parsed logs from /tmp/tmp1gan7zky to /scratch/findhao/tritonparse/tests/parsed_output
|
|
41
46
|
|
|
47
|
+
<details>
|
|
48
|
+
<summary>📝 Example output (click to expand)</summary>
|
|
49
|
+
|
|
50
|
+
```bash
|
|
42
51
|
================================================================================
|
|
43
52
|
📁 TRITONPARSE PARSING RESULTS
|
|
44
53
|
================================================================================
|
|
@@ -46,13 +55,13 @@ INFO:tritonparse:Copying parsed logs from /tmp/tmp1gan7zky to /scratch/findhao/t
|
|
|
46
55
|
📊 Total files generated: 2
|
|
47
56
|
|
|
48
57
|
📄 Generated files:
|
|
49
|
-
--------------------------------------------------
|
|
50
58
|
1. 📝 dedicated_log_triton_trace_findhao__mapped.ndjson.gz (7.2KB)
|
|
51
59
|
2. 📝 log_file_list.json (181B)
|
|
52
60
|
================================================================================
|
|
53
61
|
✅ Parsing completed successfully!
|
|
54
62
|
================================================================================
|
|
55
63
|
```
|
|
64
|
+
</details>
|
|
56
65
|
|
|
57
66
|
### 2. Visualize Results
|
|
58
67
|
|
|
@@ -88,18 +97,13 @@ pip install triton
|
|
|
88
97
|
|
|
89
98
|
| 📖 Guide | Description |
|
|
90
99
|
|----------|-------------|
|
|
91
|
-
| **[🏠 Wiki Home](https://github.com/meta-pytorch/tritonparse/wiki)** | Complete documentation and navigation |
|
|
92
|
-
| **[📦 Installation
|
|
93
|
-
| **[📋 Usage Guide](https://github.com/meta-pytorch/tritonparse/wiki/02.-Usage-Guide)** | Complete workflow and
|
|
94
|
-
| **[🌐 Web Interface
|
|
95
|
-
| **[🔧 Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** | Contributing and
|
|
96
|
-
| **[
|
|
97
|
-
|
|
98
|
-
## 🛠️ Tech Stack
|
|
99
|
-
|
|
100
|
-
- **Frontend**: React 19, TypeScript, Vite, Tailwind CSS, Monaco Editor
|
|
101
|
-
- **Backend**: Python with Triton integration, structured logging
|
|
102
|
-
- **Deployment**: GitHub Pages, automatic deployment
|
|
100
|
+
| **[🏠 Wiki Home](https://github.com/meta-pytorch/tritonparse/wiki)** | Complete documentation and quick navigation |
|
|
101
|
+
| **[📦 Installation](https://github.com/meta-pytorch/tritonparse/wiki/01.-Installation)** | Setup guide for all scenarios |
|
|
102
|
+
| **[📋 Usage Guide](https://github.com/meta-pytorch/tritonparse/wiki/02.-Usage-Guide)** | Complete workflow, examples, and reproducer |
|
|
103
|
+
| **[🌐 Web Interface](https://github.com/meta-pytorch/tritonparse/wiki/03.-Web-Interface-Guide)** | Master the visualization interface |
|
|
104
|
+
| **[🔧 Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** | Contributing and architecture overview |
|
|
105
|
+
| **[📝 Code Formatting](https://github.com/meta-pytorch/tritonparse/wiki/05.-Code-Formatting)** | Formatting standards and tools |
|
|
106
|
+
| **[❓ FAQ](https://github.com/meta-pytorch/tritonparse/wiki/06.-FAQ)** | Quick answers and troubleshooting |
|
|
103
107
|
|
|
104
108
|
## 📊 Understanding Triton Compilation
|
|
105
109
|
|
|
@@ -112,9 +116,10 @@ Each stage can be inspected and compared to understand optimization transformati
|
|
|
112
116
|
## 🤝 Contributing
|
|
113
117
|
|
|
114
118
|
We welcome contributions! Please see our **[Developer Guide](https://github.com/meta-pytorch/tritonparse/wiki/04.-Developer-Guide)** for:
|
|
115
|
-
- Development setup
|
|
116
|
-
- Code formatting standards
|
|
117
|
-
- Pull request process
|
|
119
|
+
- Development setup and prerequisites
|
|
120
|
+
- Code formatting standards (**[Formatting Guide](https://github.com/meta-pytorch/tritonparse/wiki/05.-Code-Formatting)**)
|
|
121
|
+
- Pull request and code review process
|
|
122
|
+
- Testing guidelines
|
|
118
123
|
- Architecture overview
|
|
119
124
|
|
|
120
125
|
## 📞 Support & Community
|
tritonparse-0.2.4.dev20251006071528/run.py → tritonparse-0.2.4.dev20251008071501/tritonparse/cli.py
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
|
|
4
3
|
import argparse
|
|
5
4
|
from importlib.metadata import PackageNotFoundError, version
|
|
6
5
|
|
|
6
|
+
from .common import is_fbcode
|
|
7
7
|
from .reproducer.cli import _add_reproducer_args
|
|
8
8
|
from .reproducer.orchestrator import reproduce
|
|
9
9
|
from .utils import _add_parse_args, unified_parse
|
|
@@ -19,15 +19,18 @@ def _get_package_version() -> str:
|
|
|
19
19
|
def main():
|
|
20
20
|
pkg_version = _get_package_version()
|
|
21
21
|
|
|
22
|
+
# Use different command name for fbcode vs OSS
|
|
23
|
+
prog_name = "tritonparse" if is_fbcode() else "tritonparseoss"
|
|
24
|
+
|
|
22
25
|
parser = argparse.ArgumentParser(
|
|
23
|
-
prog=
|
|
26
|
+
prog=prog_name,
|
|
24
27
|
description=(
|
|
25
28
|
"TritonParse: parse structured logs and generate minimal reproducers"
|
|
26
29
|
),
|
|
27
30
|
epilog=(
|
|
28
31
|
"Examples:\n"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
32
|
+
f" {prog_name} parse /path/to/logs --out parsed_output\n"
|
|
33
|
+
f" {prog_name} reproduce /path/to/trace.ndjson --line 2 --out-dir repro_output\n"
|
|
31
34
|
),
|
|
32
35
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
33
36
|
)
|
|
@@ -17,6 +17,8 @@ class TritonParseManager:
|
|
|
17
17
|
self,
|
|
18
18
|
enable_trace_launch=False,
|
|
19
19
|
split_inductor_compilations=True,
|
|
20
|
+
enable_tensor_blob_storage=False,
|
|
21
|
+
tensor_storage_quota=None,
|
|
20
22
|
**parse_kwargs,
|
|
21
23
|
):
|
|
22
24
|
"""
|
|
@@ -25,17 +27,28 @@ class TritonParseManager:
|
|
|
25
27
|
Args:
|
|
26
28
|
enable_trace_launch: Whether to enable trace launch
|
|
27
29
|
split_inductor_compilations: Whether to split inductor compilations in the output
|
|
30
|
+
enable_tensor_blob_storage: Whether to enable tensor blob storage
|
|
31
|
+
tensor_storage_quota: Storage quota in bytes for tensor blobs (default: 100GB)
|
|
28
32
|
**parse_kwargs: Additional keyword arguments to pass to unified_parse
|
|
29
33
|
"""
|
|
30
34
|
self.enable_trace_launch = enable_trace_launch
|
|
31
35
|
self.split_inductor_compilations = split_inductor_compilations
|
|
36
|
+
self.enable_tensor_blob_storage = enable_tensor_blob_storage
|
|
37
|
+
self.tensor_storage_quota = tensor_storage_quota
|
|
32
38
|
self.parse_kwargs = parse_kwargs
|
|
33
39
|
self.dir_path = None
|
|
34
40
|
self.output_link = None
|
|
35
41
|
|
|
36
42
|
def __enter__(self):
|
|
37
43
|
self.dir_path = createUniqueTempDirectory()
|
|
38
|
-
|
|
44
|
+
init_kwargs = {
|
|
45
|
+
"enable_trace_launch": self.enable_trace_launch,
|
|
46
|
+
"enable_tensor_blob_storage": self.enable_tensor_blob_storage,
|
|
47
|
+
}
|
|
48
|
+
if self.tensor_storage_quota is not None:
|
|
49
|
+
init_kwargs["tensor_storage_quota"] = self.tensor_storage_quota
|
|
50
|
+
|
|
51
|
+
init(self.dir_path, **init_kwargs)
|
|
39
52
|
return self
|
|
40
53
|
|
|
41
54
|
def __exit__(self, exc_type, exc_val, exc_tb):
|