贡献指南【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc本项目欢迎广大开发者体验并参与贡献。在参与社区贡献之前请参阅 cann-community 了解行为准则完成 CLA 协议签署并熟悉源码仓库的贡献流程。 一、贡献特性分类分类说明示例L1轻量特性简单的新增需求 / Bug 修复 / 特性优化 / 文档纠错等 200 行新增 Ascend C Python API 接口、已支持特性场景 Bug 修复、性能优化、API 文档描述错误纠正等L2大特性大的功能特性 / 性能增强特性等新增当前代码框架未支持的 PASS 优化大颗粒特性等L3架构变更核心接口变更 / 重大重构等对外接口目录调整、对外核心流程接口变更、端到端编译运行流程变更等 二、贡献流程说明提示按照贡献特性分类遵循对应的贡献流程。L1 特性贡献流程 Step1创建 Issue根据类型创建对应的 Issue类型创建方式Issue 分配新需求新建Requirement\|需求建议类 Issue阐明新增特性的设计方案在评论框中输入/assign或/assign yourselfBug 修复新建Bug-Report\|缺陷反馈类 Issue 描述 Bug在评论框中输入/assign或/assign yourself特性优化新建Requirement\|需求建议类 Issue 说明优化点提供设计方案在评论框中输入/assign或/assign yourself文档纠错新建Documentation\|文档反馈类 Issue 指出文档问题在评论框中输入/assign或/assign yourself新需求 Issue 一般需包含以下内容背景信息价值 / 作用设计方案具体 Issue 创建和处理方式可参考 《Issue 操作指南》。 Step2代码提交与合入若为master分支上的特性内容请遵守 master 主线分支的代码提交与合入流程完成代码开发与合入。若为experimental分支上的特性内容请遵守 experimental 分支的代码提交与合入流程完成代码开发与合入。✅ Step3标记 Issue 已完成L2 和 L3 类特性贡献流程 Step1创建 Issue同 L1 类特性的 创建 Issue。 Step2方案预讨论Issue 责任人找 sig 成员 的 maintainer 指定架构师进行方案预讨论。讨论形式可以是 Issue 区讨论或单独会议。预讨论完成后架构师勾选 Issue 状态为技术评审中之后可进入下一阶段 —— sig 评审方案。 Step3sig 评审方案申报 sig 评审议题由 Issue 责任人申报评审议题sig 会议链接和议题申报方式https://etherpad-cann.meeting.osinfra.cn/p/sig-ascendc参加 sig 例会评审方案按时参加 sig 例会进行方案评审。❌评审未通过若方案评审未通过可重新设计方案继续 Step2 → Step3 流程。若需求未接纳则流程终止。✅评审通过由 Issue 责任人填写会议纪要重点包含以下信息评审通过结论如有遗留问题请记录遗留问题内容和闭环时间sig 指定的新特性合入分支名如有⚠️ 请重点关注这一项新特性一般先合入对应特性分支待验证充分且稳定后再同步合入 master 分支。新特性分支名由 sig 指定。sig 指定的新特性发布内容和 roadmap 节点如有基于评审结论纪要找 sig 成员 勾选 Issue 状态为已确认并创建对应新特性分支如有之后可进入下一阶段 —— 合入 experimental 分支。 Step4合入 experimental 分支请遵守 experimental 分支的代码提交与合入流程完成代码开发与合入。 Step5合入 master 主线分支请遵守 master 主线分支的代码提交与合入流程完成代码开发与合入。⚠️注意事项准备合入master主线分支的内容必须已合入experimental分支且经过充分验证如对应新增的 UT/ST 测试。准备合入master主线分支前建议跟 sig 成员 的 maintainer 对齐合入时间避免您的代码被拒绝合入。可以 PR 评论区 maintainer_gitcode_id对齐合入时间相较于合入experimental分支多一步关键流程触发 CI 门禁并通过。✅ Step6标记 Issue 已完成 三、代码合入流程与开发交付件 experimental 分支的代码提交与合入流程可参考 《PRPull Request操作指南》 进行贡献。关键流程如下Fork 仓库本地开发验证提交 Pull Request代码检视找 sig 成员 的 Committer 进行代码检视可在评论区 committer_gitcode_id 提醒 Committer 进行代码审查闭环检视意见找参与代码检视的对应 Committer 确认意见已闭环然后申请加分 lgtm/approve合入 experimental 分支 master 主线分支的代码提交与合入流程可参考 《PRPull Request操作指南》 进行贡献。关键流程如下Fork 仓库本地开发验证提交 Pull Request触发 CI 门禁并通过通过评论compile指令触发开源仓门禁并依据 CI 检测结果进行修改。目前 CI 门禁包含以下检查项代码编译、静态检查、UT 测试、冒烟测试。如涉及 codecheck 误报请提交给 sig 成员 Committer 屏蔽。如未及时处理可在评论区 committer_gitcode_id 提醒 Committer 进行代码告警屏蔽处理。代码检视找 sig 成员 的 Committer 进行代码检视可在评论区 committer_gitcode_id 提醒 Committer 进行代码审查闭环检视意见找参与代码检视的对应 Committer 确认意见已闭环然后申请加分 lgtm/approve合入 master 主线分支 PR 上库要求代码交付件需提供新特性的功能实现文件和测试用例文件。如果是贡献新的 Ascend C API 的 Python 编程接口请参考 《Ascend C Python 编程接口开发指南》完成对应代码交付件。文档交付件新特性 README 文档为必选其余文档可视情况提供。如果是贡献新的 Ascend C API 的 Python 编程接口请参考 《Ascend C Python 编程接口开发指南》完成对应文档交付件。合规检查代码是否符合 《C 编程规范》 和 《Python 编程规范》代码是否编译通过Markdown 文档语法是否符合规范PR 提交通过git命令提交目标分支 PR检查 PR 标题是否清晰、PR 描述是否规范指明更改内容和原因、是否关联对应 Issue检查是否签署 CLA【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考