Skip to content

[BE] Update .gitignore and add new test output files #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from

Conversation

FindHao
Copy link
Member

@FindHao FindHao commented Jul 20, 2025

Summary:

  • Updated .gitignore to include patterns for .ndjson, .ndjson.gz, and .json files, while ensuring specific test output directories are excluded from being ignored.
  • Added a new NDJSON log file for complex kernel tests and a corresponding gzipped version for parsed output.
  • Created a JSON file to list the log files for the complex kernel tests, enhancing the organization of test outputs.

These changes improve the management of test output files and enhance the testing framework for Triton kernels.

FindHao added 5 commits July 20, 2025 17:14
Summary:
- Updated `parse_single_trace_content` to only process compilation events, improving efficiency by skipping non-compilation events.
- Enhanced the handling of IR file mappings and bidirectional mappings between different IR types.
- Improved the organization of output lines for final writing, ensuring accurate grouping of compilation and launch events by kernel hash.
- Added new utility functions for flattening and unflattening dictionaries, and for generating launch diffs, enhancing the overall functionality of the module.

These changes aim to streamline the parsing process and improve the clarity and maintainability of the codebase.
Summary:
- Introduced `ArgumentViewer` to display argument distributions and differences in a structured format.
- Added `DiffViewer` to handle and present differing fields, integrating `ArgumentViewer` for extracted arguments.
- Created `StackDiffViewer` to visualize stack traces with collapsible sections for better user experience.
- Updated `KernelOverview` to incorporate the new components for enhanced launch analysis and metadata display.
- Enhanced `dataLoader` to support launch_diff events, improving kernel data processing.

These changes aim to improve the visualization and analysis of kernel launch data, enhancing the overall functionality of the application.
Summary:
- Added comments for clarity, including a note for the dropdown arrow icon in both `ArgumentViewer` and `StackDiffViewer`.
- Updated the `renderSimpleDiff` function in `DiffViewer` to use a more descriptive parameter name.

These changes improve code readability and maintainability across the components.
Summary:
- Introduced a new test file `test_complex_kernels.py` to validate the functionality of two distinct Triton kernels: an autotuned matrix multiplication kernel and a fused element-wise operation kernel.
- Implemented a comprehensive test plan that includes multiple launches with varied parameters for both kernels, ensuring thorough testing of their performance and correctness.
- Enhanced logging capabilities during the tests to facilitate debugging and analysis of kernel launches.

These changes aim to improve the testing framework for Triton kernels, ensuring robust validation of their functionality and performance.
Summary:
- Updated .gitignore to include patterns for `.ndjson`, `.ndjson.gz`, and `.json` files, while ensuring specific test output directories are excluded from being ignored.
- Added a new NDJSON log file for complex kernel tests and a corresponding gzipped version for parsed output.
- Created a JSON file to list the log files for the complex kernel tests, enhancing the organization of test outputs.

These changes improve the management of test output files and enhance the testing framework for Triton kernels.
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jul 20, 2025
@FindHao FindHao changed the title Update .gitignore and add new test output files [BE] Update .gitignore and add new test output files Jul 20, 2025
@facebook-github-bot
Copy link
Contributor

@FindHao has imported this pull request. If you are a Meta employee, you can view this in D78667099.

Copy link

@davidberard98 davidberard98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding tests!

Two requests before you land this:

  1. Can you make the tests use unittest test cases
  2. Can you double check whether the changed logging format affects backward compatibility between logs generated by old versions of tritonparse and new versions of the tritonparse CLI/UI? I think you should ensure that old tritonparse logs are still parse-able by new versions of the tritonparse CLI/UI.

@@ -0,0 +1,256 @@
"""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to make this use the unittest framework so that these tests can be more easily run in internal CI?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let me move this example to the unit tests file rather than putting it in a separate file.

@@ -928,7 +931,7 @@ def __call__(self, metadata):
)
if launch_metadata_tritonparse is not None:
trace_data["grid"] = launch_metadata_tritonparse[0]
trace_data["metadata"] = launch_metadata_tritonparse[1]
trace_data["compilation_metadata"] = launch_metadata_tritonparse[1]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just to double check: does this have BC considerations (e.g. will an old tritonparse artifact still be able to be parsed by the new tritonparse UI & CLI tool?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

previously, we didn't do anything for launch event. parsing step just ignore launch event, therefore the website also doesn't take launch event as inputs. so, no other usages for launch event before this feature. We are safe to change this name.

@facebook-github-bot
Copy link
Contributor

@FindHao merged this pull request in 06fa342.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Meta Open Source bot. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants