Thanks for taking the time to contribute! 🎉
Before opening an issue, please:
- Search existing issues to avoid duplicates.
- If you find a related but unresolved issue, comment there instead of opening a new one.
- When opening a new issue, use the appropriate template and include:
- TPU-MLIR version (
pip show tpu_mliror commit SHA) - Target chip (e.g.
bm1684x) - Source framework + model link (if reproducible)
- Exact command line and full error output
- Minimal reproducer when possible
- TPU-MLIR version (
- Discuss first — for non-trivial changes, open an issue describing the design before sending a PR.
- One topic per PR — keep changes focused and reviewable.
- Match the existing style:
- C/C++ — formatted with
clang-format(config:.clang-format). - Python — formatted with
yapf(config:.style.yapf, 100-column limit). - The repo also ships an
.editorconfigthat most editors pick up automatically.
- C/C++ — formatted with
- Run the regression tests under
regression/for any change touching the compiler or runtime. - Write good commit messages — short imperative summary, optional body explaining why.
- Sign your commits with an email registered on your GitHub account so the commit is properly attributed (see GitHub → Settings → Emails).
See README.md → Installation and README_cn.md → 安装.
Quick reference inside the official Docker image:
pip install -r requirements.txt
source ./envsetup.sh
./build.sh # RELEASE build
./build.sh DEBUG # debug build with symbols- A maintainer will review your PR and may request changes.
- CI must pass before merge.
- Once approved, a maintainer will squash-merge or rebase-merge the change.
By contributing, you agree that your contributions will be licensed under the same terms as the project (see LICENSE).