[TOC]
请先按深度学习框架分类阅读文档:
所有提交必须遵循以下格式:
<type>(<scope>): <subject>
<body>
feat: 新功能 fix: Bug修复 docs: 文档更新 style: 代码格式(不影响功能,如空格、格式化等) refactor: 重构(既不是 Bug 修复也不是新功能) perf: 性能优化 test: 测试相关 chore: 构建/工具变更(如依赖更新、构建配置等) ci: CI/CD 相关变更
指定提交影响的范围,例如:
op: 算子emb_table: 稀疏表相关docs: 文档build: 构建
- 使用祈使句,首字母小写
- 不超过50个字符
- 不以句号结尾
- 描述"做了什么"而不是"做了什么改动"
- 详细描述变更的原因和方式
- 说明与之前行为的对比
- 可以多行,每行不超过 72 个字符
- 创建特性分支
git checkout -b feature/your-feature-name # 或 git checkout -b fix/issue-number - 进行开发
- 编写代码
- 添加测试
- 更新文档
- 确保代码通过本地测试
- 提交代码
git add . git commit -m "[feat] add new feature"
- 推送到 Fork 仓库
git push origin feature/your-feature-name
- 创建 Pull Request
- 访问gitcode仓库页面
- 点击"Pull Request"或"合并请求"
- 填写PR描述(见PR创建页面模板)
- 保持PR小规模
- 一次PR只解决一个问题
- 便于评审和理解
- 提高合并效率
- 建议:单个PR不超过1000行(含测试)代码变更
- 及时更新
- 定期同步上游主分支
- 及时响应评审意见
- 保持 PR 活跃
- 清晰描述
- 详细描述变更原因和方式
- 提供测试方法
- 添加截图或示例(如适用)
- 评审人员要求
- 评审人员必须熟悉相关代码领域
- 评审人员不能是PR作者本人
- 评审检查项
- ✅ 代码质量和风格
- ✅ 功能正确性
- ✅ 测试覆盖率(分支60%,行80%)
- ✅ 文档完整性
- ✅ 性能影响
- ✅ 安全性
- ✅ 向后兼容性
- CI 检查要求
- ✅ 所有 CI 检查必须通过
- 无 Block 评论
- PR不能有任何未解决问题
- Squash and Merge
- 将 PR 的所有提交合并为一个提交
- 保持主分支历史清晰
- 提交消息使用PR标题
- 必须满足的条件
- ✅ 至少2位Maintainer或Committer的/lgtm,和1个/approve
- 禁止的操作
- ❌ 禁止 Force Push 到主分支
- ❌ 禁止合并自己的 PR(必须有他人评审)
- Maintainer:可以合并任何PR
- Committer:可以合并任何PR
- Contributor:无合并权限,需要等待Maintainer或Committer合并
CI检查项目有:
- 编译构建:
- PR-build-SAST-check
- Build_TF
- Build_torchrec
- Build_add_ons
- 恶意代码检查:Antipoison
- 编码安全与规范检查:CodeCheck
- 开源片段检查:SCA
- 开发者测试:
- presmoke_TF
- UT_torchrec
- PreSmoke_torchrec
- UT_python_common
- UT_python_tf1
- UT_AccCTR
- UT_cpp_tf1
- 流水线:PR-pipeline_RecSDK
任意一项失败可以通过详情链接查看具体问题。如果是CI自身故障,请联系committer,或通过评论“rebuild”尝试重新构建。
创建PR时,PreSmoke_torchrec检查会根据PR修改的代码文件运行相关的测试用例。PreSmoke_torchrec检查的运行入口为:run_presmoke.sh
调用方式如下:
cd build
bash run_presmoke.sh- 技术聚焦 围绕基于NPU的推荐系统SDK和算子进行深入研究,推动技术发展,解决实际问题。
- 促进协作 通过组织会议、技术分享等方式,促进成员之间的协作和知识共享,提升技术水平。
- 最佳实践 在技术实现、接口设计、开发流程等方面推动最佳实践,降低协作成本,提升系统兼容性和可维护性。
- 社区建设 通过代码贡献、技术分享等方式,培养技术人才,推动社区生态建设。
- 周期:每1个月举行一次例会,可通过Ascend开源社区搜索、查看sig-RecSDK的会议链接。
- 申报议题:通过sig-RecSDK Etherpad链接进入共享文档,编辑申报议题。
- 参会人员:maintainer、committer、contributor等核心成员,其他对本SIG感兴趣的人员。
- 会议内容:讨论遗留问题和进展;当期申报的议题;需求评审、任务和优先级;需求规划和进展(roadmap);新晋maintainer、committer准入评审。
- 会议归档:会议纪要位于sig-RecSDK Etherpad链接。