diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..97a597f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ + +## 自查 + +- [ ] 核心八件齐全: README / REPORT / `__init__.py`(包化入口) / reference / register / example / kernel/ / test/ +- [ ] 三层测试绿: test/{kernel,op,framework}_level.py +- [ ] 性能对照: script/bench_perf.py(native 参照)+ reports/ 更新 +- [ ] 黄金绿: goldendata/ + script/check_accuracy.py +- [ ] 包化回归绿: `python3 ops/test_packaging.py`(全算子导入扫描) +- [ ] 多平台变更时: PLATFORM.md / MERGE.md 已同步 +- [ ] 署名一致: `wt-YYYY-MM-DD-fix` + `# wt <邮箱>`,commit 作者相同 + +## 说明 + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3d20045..29144e9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,6 +16,13 @@ python3 run.py --route a1 --level op # 跑最轻的一格 - [ ] 从 [templates/operator](templates/operator/) 样板起步,目录放 [ops/](ops/README.md)(`cp -r templates/operator ops/<算子名>/`) 并在 ops/README 索引表登记 +- [ ] **包化入口必带**: 目录含 `__init__.py`(模板已带,改名后更新 + 导出);合并前 `python3 ops/test_packaging.py` 全算子导入扫描 + 绿(多算子同进程冲突的硬门,见 #13/#14 实证) +- [ ] **交付自查清单**: 按模板 README「交付自查清单」逐项打勾 + (三层测试/性能对照/黄金/署名等七项) +- [ ] **多平台时**: 补 PLATFORM.md(绑定清单)+ MERGE.md(七步 + 流程)——范式见 ops/embedding 双份 - [ ] 补 `goldendata/inputs_spec.yaml` 并生成黄金(含非整倍数维度与 zeros/large/boundary 特殊用例) - [ ] `example.py` 含 `main()` 入口 + 设备 profile 参数(不硬编码设备) diff --git a/templates/operator/README.md b/templates/operator/README.md index 80dca84..c4eb4c3 100644 --- a/templates/operator/README.md +++ b/templates/operator/README.md @@ -113,8 +113,8 @@ grep -rl my_op . | xargs sed -i 's/my_op/<你的算子名>/g' > 2026-10-07 全库审计后新增——审计发现 13 算子缺包化入口、多平台 > 算子缺 PLATFORM/MERGE 文档。后续作者请勿再欠账: -- [ ] 核心八件: README / REPORT / / reference / - register / example / kernel/ / test/ +- [ ] 核心八件: README / REPORT / `__init__.py`(包化入口) / + reference / register / example / kernel/ / test/ - [ ] 三层测试: test/{kernel,op,framework}_level.py 全绿 - [ ] 性能对照: script/bench_perf.py(native 参照必备)+ reports/ 四件套 - [ ] 黄金: goldendata/ + script/check_accuracy.py 全过