tritonparse 0.1.1.dev20250911071550__tar.gz → 0.2.1.dev20250912071501__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.

Files changed (103) hide show
  1. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/workflows/nightly-pypi.yml +18 -9
  2. tritonparse-0.2.1.dev20250912071501/CHANGELOG.md +91 -0
  3. {tritonparse-0.1.1.dev20250911071550/tritonparse.egg-info → tritonparse-0.2.1.dev20250912071501}/PKG-INFO +1 -1
  4. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501/tritonparse.egg-info}/PKG-INFO +1 -1
  5. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/package-lock.json +12 -12
  6. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/package.json +1 -1
  7. tritonparse-0.1.1.dev20250911071550/CHANGELOG.md +0 -31
  8. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/README.md +0 -0
  9. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/install-project.sh +0 -0
  10. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/install-triton-pip.sh +0 -0
  11. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/install-triton.sh +0 -0
  12. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/run-tests.sh +0 -0
  13. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.ci/setup.sh +0 -0
  14. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/PAGES_SETUP.md +0 -0
  15. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/copilot-instructions.md +0 -0
  16. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/workflows/deploy-pages-standalone.yml +0 -0
  17. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/workflows/deploy-pages.yml +0 -0
  18. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.github/workflows/test.yml +0 -0
  19. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/.gitignore +0 -0
  20. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/CODE_OF_CONDUCT.md +0 -0
  21. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/CONTRIBUTING.md +0 -0
  22. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/LICENSE +0 -0
  23. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/Makefile +0 -0
  24. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/README.md +0 -0
  25. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/__init__.py +0 -0
  26. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/docs/README.md +0 -0
  27. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/docs/screenshots/code-comparison.png +0 -0
  28. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/docs/screenshots/kernel-overview.png +0 -0
  29. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/pyproject.toml +0 -0
  30. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/run.py +0 -0
  31. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/setup.cfg +0 -0
  32. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/README.md +0 -0
  33. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/__init__.py +0 -0
  34. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson +0 -0
  35. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/parsed_output/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
  36. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/parsed_output/f0_fc0_a0_cai-.ndjson.gz +0 -0
  37. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/parsed_output/log_file_list.json +0 -0
  38. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/parsed_output_complex/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
  39. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/example_output/parsed_output_complex/log_file_list.json +0 -0
  40. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/test_add.py +0 -0
  41. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tests/test_tritonparse.py +0 -0
  42. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/__init__.py +0 -0
  43. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/common.py +0 -0
  44. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/event_diff.py +0 -0
  45. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/extract_source_mappings.py +0 -0
  46. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/ir_parser.py +0 -0
  47. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/mapper.py +0 -0
  48. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/shared_vars.py +0 -0
  49. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/source_type.py +0 -0
  50. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/sourcemap_utils.py +0 -0
  51. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/structured_logging.py +0 -0
  52. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/__init__.py +0 -0
  53. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/decompress_bin_ndjson.py +0 -0
  54. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/format_fix.py +0 -0
  55. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/load_tensor.py +0 -0
  56. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/prettify_ndjson.py +0 -0
  57. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tools/readme.md +0 -0
  58. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/tp_logger.py +0 -0
  59. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/trace_processor.py +0 -0
  60. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse/utils.py +0 -0
  61. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse.egg-info/SOURCES.txt +0 -0
  62. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse.egg-info/dependency_links.txt +0 -0
  63. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse.egg-info/requires.txt +0 -0
  64. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/tritonparse.egg-info/top_level.txt +0 -0
  65. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/eslint.config.js +0 -0
  66. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/index.html +0 -0
  67. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/postcss.config.js +0 -0
  68. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/public/dedicated_log_triton_trace_findhao__mapped.ndjson.gz +0 -0
  69. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/public/f0_fc0_a0_cai-.ndjson +0 -0
  70. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/public/favicon.ico +0 -0
  71. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/public/logo.svg +0 -0
  72. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/scripts/inline-html.js +0 -0
  73. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/App.css +0 -0
  74. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/App.tsx +0 -0
  75. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/assets/react.svg +0 -0
  76. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/ArgumentViewer.tsx +0 -0
  77. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/Callstack.tsx +0 -0
  78. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/CodeComparisonView.tsx +0 -0
  79. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/CodeViewer.tsx +0 -0
  80. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/CompilationInfo.tsx +0 -0
  81. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/CopyCodeButton.tsx +0 -0
  82. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/DataSourceSelector.tsx +0 -0
  83. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/DiffViewer.tsx +0 -0
  84. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/ExternalLink.tsx +0 -0
  85. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/SingleCodeViewer.tsx +0 -0
  86. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/StackDiffViewer.tsx +0 -0
  87. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/ToggleSwitch.tsx +0 -0
  88. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/TritonIRs.tsx +0 -0
  89. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/components/WelcomeScreen.tsx +0 -0
  90. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/index.css +0 -0
  91. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/main.tsx +0 -0
  92. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/pages/CodeView.tsx +0 -0
  93. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/pages/KernelOverview.tsx +0 -0
  94. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/utils/dataLoader.ts +0 -0
  95. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/utils/fbDetection.ts +0 -0
  96. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/utils/safeImport.ts +0 -0
  97. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/utils/tensor.ts +0 -0
  98. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/src/vite-env.d.ts +0 -0
  99. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/tailwind.config.js +0 -0
  100. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/tsconfig.app.json +0 -0
  101. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/tsconfig.json +0 -0
  102. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/tsconfig.node.json +0 -0
  103. {tritonparse-0.1.1.dev20250911071550 → tritonparse-0.2.1.dev20250912071501}/website/vite.config.ts +0 -0
@@ -23,23 +23,32 @@ jobs:
23
23
  - uses: actions/setup-python@v5
24
24
  with:
25
25
  python-version: "3.11"
26
-
27
- - name: Install build tools
28
- run: |
29
- python -m pip install --upgrade pip
30
- pip install build setuptools-scm
31
-
32
- - name: Compute nightly version from latest tag (per-second)
26
+ - name: Compute nightly version from latest tag (next patch + timestamp)
33
27
  id: ver
34
28
  if: github.ref_type != 'tag'
35
29
  run: |
36
- TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo 0.1.0)
30
+ # Get latest tag; allow 'v' prefix; fail if none
31
+ if ! TAG=$(git describe --tags --abbrev=0 2>/dev/null); then
32
+ echo "::error title=No git tag found::Repository has no tags. Add a semver tag like v0.1.0"
33
+ exit 1
34
+ fi
37
35
  BASE=${TAG#v}
36
+ # Keep only X.Y.Z form (strip rc/a/b/post/dev suffixes)
37
+ BASE=$(printf "%s\n" "$BASE" | sed -E 's/^([0-9]+)\.([0-9]+)\.([0-9]+).*/\1.\2.\3/')
38
+ IFS='.' read -r MAJ MIN PAT <<EOF
39
+ $BASE
40
+ EOF
41
+ # Use next patch version as the nightly base
42
+ PAT=$((PAT + 1))
43
+ NEXT="$MAJ.$MIN.$PAT"
38
44
  DATE=$(date -u +%Y%m%d%H%M%S)
39
- echo "NVER=${BASE}.dev${DATE}" >> $GITHUB_OUTPUT
45
+ echo "NVER=${NEXT}.dev${DATE}" >> "$GITHUB_OUTPUT"
46
+ echo "Computed nightly version: ${NEXT}.dev${DATE}"
40
47
 
41
48
  - name: Build sdist/wheel
42
49
  run: |
50
+ python -m pip install --upgrade pip
51
+ pip install build setuptools-scm
43
52
  if [ "${{ github.ref_type }}" != "tag" ]; then
44
53
  export SETUPTOOLS_SCM_PRETEND_VERSION=${{ steps.ver.outputs.NVER }}
45
54
  fi
@@ -0,0 +1,91 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.2.0] - 2025-09-11
9
+
10
+ ### TritonParse Release Notes (last 27 commits)
11
+
12
+ - **Date range**: 2025-07-25 — 2025-09-11
13
+ - **Scope**: Core library, website UI/UX, performance & scalability, CI/CD & packaging, documentation & maintenance.
14
+
15
+ ### Highlights
16
+ - **Website usability**: Drag-and-drop to open logs; one-click copy in code viewers; sticky, compact kernel selector; footer shows app version, localized build date, and Git short SHA; tensor arguments in Launch Analysis now display concise summaries with expandable details.
17
+ - **Large-file parsing**: Streaming NDJSON parsing and robust gzip handling significantly reduce memory usage and improve stability for files >100 MB.
18
+ - **Core & integrations**: Persist Inductor kernel config into `inductor_metadata` and pass to JIT hooks; ensure Inductor path invokes `jit_post_compile_hook`; new `init_with_env` for environment-based initialization; move compilation timing `times` into `metadata` for automatic frontend rendering.
19
+ - **Releases & versioning**: Adopt setuptools-scm dynamic versioning; add Nightly PyPI publishing; enable stable publishing on tag push; fix nightly version potentially being older than stable; correct packaging license metadata.
20
+ - **CI stability**: Ubuntu 24.04 compatibility; improved CUDA/cuDNN setup and detection; parallelize jobs; add parallel CI for pip-installed Triton; better error visibility in install scripts; upgrade libstdc++.
21
+
22
+ ### Changes by area
23
+ - **Core library**
24
+ - Save Inductor kernel params to `inductor_metadata` and forward to JIT hooks.
25
+ - Manually invoke `jit_post_compile_hook` in the Inductor Triton compile path.
26
+ - Add `init_with_env` that reads `TRITON_TRACE_FOLDER` and `TRITON_TRACE_LAUNCH`.
27
+ - Move compilation `times` into `metadata` so the frontend auto-renders it.
28
+ - Use cached source in compile listener for stability.
29
+ - Refactor source-mapping pipeline into modular units for maintainability.
30
+
31
+ - **Website UI/UX**
32
+ - Drag-and-drop to open supported log files.
33
+ - Copy button in code viewer panels.
34
+ - Sticky/collapsible/compact kernel selector in Kernel Overview; resizable compilation stack trace vertically.
35
+ - Launch Analysis: tensor args show concise summaries with expandable details.
36
+ - Footer displays version, localized build date, and Git short SHA.
37
+ - Streaming NDJSON parsing and improved error handling for large logs.
38
+
39
+ - **Performance & scalability**
40
+ - Use streaming path for files >100 MB to reduce memory peaks and improve robustness.
41
+
42
+ - **CI/CD & packaging**
43
+ - Enable setuptools-scm and nightly PyPI publishing.
44
+ - Publish stable releases on tag push; improve version computation and tag detection.
45
+ - Fix nightly version possibly lagging behind stable; add clear error on missing tags.
46
+ - Add parallel CI for pip-installed Triton; recommend pip installation in docs.
47
+ - Improve Ubuntu 24.04 setup, CUDA/cuDNN handling, and job parallelism.
48
+ - Increase error visibility in install scripts and upgrade libstdc++.
49
+ - Define lower bounds for prerequisites in `pyproject.toml`.
50
+
51
+ - **Docs & maintenance**
52
+ - Move repository to `meta-pytorch` org; update links and guidance; add AI assistant context.
53
+ - Update/restore CONTRIBUTING docs to avoid breaking downstream consumers.
54
+
55
+ - **Testing**
56
+ - Preserve test outputs when `TEST_KEEP_OUTPUT=1` to aid debugging.
57
+
58
+ ### Compatibility notes
59
+ - Versioning & publishing: setuptools-scm with tag-based stable releases and nightly dev versions. Ensure `PYPI_API_TOKEN` is configured in CI if publishing is intended.
60
+ - Data format: compilation timing `times` moved under `metadata`; update any downstream scripts that referenced the old location.
61
+ - Build metadata: footer shows localized build date and Git short SHA; restart dev server to refresh these values.
62
+
63
+ ### Upgrade guidance
64
+ - Prefer Triton from PyPI (≥ 3.4.0) and adhere to the lower bounds declared in `pyproject.toml`.
65
+ - For deterministic build metadata in the website, set `BUILD_DATE` and `GIT_COMMIT_SHA_SHORT` in the environment when running dev/build.
66
+
67
+
68
+ ## [0.1.1] - 2025-07-25
69
+
70
+ ### Added
71
+
72
+ - **Launch Difference Analysis**: A new `launch_diff` event is automatically generated for each kernel, providing a concise summary of how launch parameters vary across different calls. This helps to quickly identify changes in kernel arguments, grid dimensions, and other metadata.
73
+ - **Enhanced Web UI for Launch Analysis**: The web interface now visualizes the `launch_diff` data, offering an interactive way to explore how kernel launches differ. It includes a detailed breakdown of constant vs. varying parameters and their value distributions.
74
+ - **Kernel-Centric Event Grouping**: The parser now intelligently groups compilation and launch events by kernel, making it easier to analyze the entire lifecycle of a specific kernel.
75
+ - **Launch Event Tracing Control**: Added an `enable_trace_launch` parameter to `tritonparse.structured_logging.init` to give users explicit control over whether to trace kernel launch events.
76
+ - **Enhanced Logging and Testing**: Improved the structured logging initialization and expanded test coverage to verify the correctness of `launch` and `compilation` event counts.
77
+
78
+ ## [0.1.0] - 2025-07-21
79
+
80
+ This is the initial public release of TritonParse.
81
+
82
+ ### Added
83
+
84
+ - **Interactive Web Interface**: A rich, client-side web UI for exploring, comparing, and understanding Triton IRs. Features side-by-side code views, synchronized highlighting, and detailed metadata panels.
85
+ - **Structured Logging Backend**: A powerful Python backend to capture detailed information from the Triton compiler and runtime, including IRs (TTIR, TTGIR, PTX, AMDGCN), metadata, timings, and Python source code, and outputs it as structured NDJSON logs.
86
+ - **Source-to-Source Mapping**: Automatic generation of bidirectional mappings between Python code and all intermediate representations (IRs), allowing you to trace a line of Python code all the way down to the generated assembly and back.
87
+ - **Kernel Launch Tracing**: Capability to trace each kernel launch, capturing the grid dimensions, kernel arguments (with detailed tensor information), and other runtime metadata.
88
+ - **Flexible Log Parsing CLI**: A command-line interface (`run.py`) to parse logs from local files or directories, and from single or multiple ranks in a distributed training job.
89
+ - **Prerequisites Documentation**: Clear requirements for Python (>=3.10), PyTorch, and Triton (>3.3.1, compiled from source).
90
+ - **Getting Started Guide**: A step-by-step workflow for generating, parsing, and visualizing traces.
91
+ - **Configuration via Environment Variables**: Support for `TRITON_TRACE`, `TRITON_TRACE_LAUNCH`, `TRITONPARSE_KERNEL_ALLOWLIST`, and `TRITON_TRACE_GZIP`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tritonparse
3
- Version: 0.1.1.dev20250911071550
3
+ Version: 0.2.1.dev20250912071501
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tritonparse
3
- Version: 0.1.1.dev20250911071550
3
+ Version: 0.2.1.dev20250912071501
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
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "tritonparse-website",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "tritonparse-website",
9
- "version": "0.1.1",
9
+ "version": "0.2.0",
10
10
  "dependencies": {
11
11
  "@monaco-editor/react": "^4.7.0",
12
12
  "@types/react-syntax-highlighter": "^15.5.7",
@@ -848,9 +848,9 @@
848
848
  }
849
849
  },
850
850
  "node_modules/@eslint/core": {
851
- "version": "0.15.1",
852
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz",
853
- "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==",
851
+ "version": "0.15.2",
852
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
853
+ "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
854
854
  "dev": true,
855
855
  "license": "Apache-2.0",
856
856
  "dependencies": {
@@ -921,13 +921,13 @@
921
921
  }
922
922
  },
923
923
  "node_modules/@eslint/plugin-kit": {
924
- "version": "0.3.3",
925
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz",
926
- "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==",
924
+ "version": "0.3.5",
925
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
926
+ "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
927
927
  "dev": true,
928
928
  "license": "Apache-2.0",
929
929
  "dependencies": {
930
- "@eslint/core": "^0.15.1",
930
+ "@eslint/core": "^0.15.2",
931
931
  "levn": "^0.4.1"
932
932
  },
933
933
  "engines": {
@@ -4472,9 +4472,9 @@
4472
4472
  "license": "MIT"
4473
4473
  },
4474
4474
  "node_modules/vite": {
4475
- "version": "6.3.5",
4476
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
4477
- "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
4475
+ "version": "6.3.6",
4476
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz",
4477
+ "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==",
4478
4478
  "dev": true,
4479
4479
  "license": "MIT",
4480
4480
  "dependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tritonparse-website",
3
3
  "private": true,
4
- "version": "0.1.1",
4
+ "version": "0.2.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -1,31 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [0.1.1] - 2025-07-25
9
-
10
- ### Added
11
-
12
- - **Launch Difference Analysis**: A new `launch_diff` event is automatically generated for each kernel, providing a concise summary of how launch parameters vary across different calls. This helps to quickly identify changes in kernel arguments, grid dimensions, and other metadata.
13
- - **Enhanced Web UI for Launch Analysis**: The web interface now visualizes the `launch_diff` data, offering an interactive way to explore how kernel launches differ. It includes a detailed breakdown of constant vs. varying parameters and their value distributions.
14
- - **Kernel-Centric Event Grouping**: The parser now intelligently groups compilation and launch events by kernel, making it easier to analyze the entire lifecycle of a specific kernel.
15
- - **Launch Event Tracing Control**: Added an `enable_trace_launch` parameter to `tritonparse.structured_logging.init` to give users explicit control over whether to trace kernel launch events.
16
- - **Enhanced Logging and Testing**: Improved the structured logging initialization and expanded test coverage to verify the correctness of `launch` and `compilation` event counts.
17
-
18
- ## [0.1.0] - 2025-07-21
19
-
20
- This is the initial public release of TritonParse.
21
-
22
- ### Added
23
-
24
- - **Interactive Web Interface**: A rich, client-side web UI for exploring, comparing, and understanding Triton IRs. Features side-by-side code views, synchronized highlighting, and detailed metadata panels.
25
- - **Structured Logging Backend**: A powerful Python backend to capture detailed information from the Triton compiler and runtime, including IRs (TTIR, TTGIR, PTX, AMDGCN), metadata, timings, and Python source code, and outputs it as structured NDJSON logs.
26
- - **Source-to-Source Mapping**: Automatic generation of bidirectional mappings between Python code and all intermediate representations (IRs), allowing you to trace a line of Python code all the way down to the generated assembly and back.
27
- - **Kernel Launch Tracing**: Capability to trace each kernel launch, capturing the grid dimensions, kernel arguments (with detailed tensor information), and other runtime metadata.
28
- - **Flexible Log Parsing CLI**: A command-line interface (`run.py`) to parse logs from local files or directories, and from single or multiple ranks in a distributed training job.
29
- - **Prerequisites Documentation**: Clear requirements for Python (>=3.10), PyTorch, and Triton (>3.3.1, compiled from source).
30
- - **Getting Started Guide**: A step-by-step workflow for generating, parsing, and visualizing traces.
31
- - **Configuration via Environment Variables**: Support for `TRITON_TRACE`, `TRITON_TRACE_LAUNCH`, `TRITONPARSE_KERNEL_ALLOWLIST`, and `TRITON_TRACE_GZIP`.