Contribution Guide

1. Reporting issues

  • If you find any issues, first check the issues list of the repository and look for similar issues or existing solutions.

  • If the existing issues list does not contain the issue you encountered, submit a new issue. Use the [Bug] title prefix with the bug label, and provide a clear problem description, reproduction steps, and environment information (such as the CANN, PyTorch, torch_npu, and triton-ascend versions, and the chip model).

2. Performance optimization and new features

  • For operator performance optimization proposals, use the performance label when submitting the issue and describe the optimization features and their usage scenarios.

  • For suggestions or discussions about new operators or features, use the [Feature] title prefix with the feature label when submitting the issue and describe the background, expected outcomes, and proposed solutions.

3. Code contribution process

If you would like to submit code changes, follow these brief steps:

  • Develop and commit your changes on your personal branch, then submit a Pull Request (PR) to this repository. The PR title should follow the type(scope): description format. Common PR types include feat (features or operators), fix (bug fixes), docs (documentation changes), and test (test cases).

  • After submitting the PR, create an issue and associate it with the PR. Use the issue label that corresponds to the PR type: feature (feature discussion), bug (bug feedback), or document (documentation issues). We will discuss with you in the issue whether to adopt the proposal and provide comments or revision requirements. You can also follow up on subsequent progress through the issue.

  • When adding a new operator, provide UT test cases and operator documentation, and attach ATK test-passing screenshots (covering accuracy, performance, and memory) to the PR. For details, see the operator merge instructions and the development guides linked in the README.

  • Revise the code based on the discussion and update the PR.

  • Enter compile in the comment section to trigger the gate pipeline (CI).

  • After the CI of the PR passes and the PR receives sufficient labels, the repository committer performs the final review and merges the changes into the in-development branch.

Thank you for your participation and contributions! We look forward to working with you to drive the project forward.