HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[docs] 新增 hcomm-doc-dev 文档开发域 skill 并接入 hcomm-review 检视流程 Co-authored-by: zhangxp1030<zhangxingping4@huawei.com> # message auto-generated for no-merge-commit merge: !5994 merge feature/code-dir-doc-skill into master [docs] 新增 hcomm-doc-dev 文档开发域 skill 并接入 hcomm-review 检视流程 Created-by: zhangxp1030 Commit-by: zhangxp1030 Merged-by: cann-robot Description: ## 描述 在 .agents/skills/ 下新增 hcomm-doc-dev skill(文档开发域总入口与路由器),把仓内模块级代码解析文档(如 dfx/taskException.md、dfx/profiling.md、communicator.md 这类中英双语文档)的写作方法固化为 agent 可执行的规范,以 software-module 子规范形式挂接;未来接口 API 文档等其他类型同样以 references/ 下子目录形式扩展。 背景:仓内已有一批高质量模块文档,但写作标准散落在各文档自身,新目录出文档、存量文档补英文版时无统一流程可循。本 skill 提炼既有文档共性,形成可复用的写作规范: - 六段固定骨架:功能描述 / 目录描述 / 流程描述 / 数据描述 / 接口描述 / 使用限制,顺序固定、原则上不可裁剪 - 流程描述与类图全量覆盖核心流程与核心类,不挑不漏 - 接口分级:组件对外接口全量描述 → 核心类核心接口详写 → 辅助接口从略(注明判断依据);目录含多个独立组件时先暂停与开发者确认 - 图表工具统一选型:交互图 Mermaid graph TB、时序图 sequenceDiagram、类图 classDiagram、目录树 text 代码块、表格标准 Markdown - 中英双语成对输出为强制要求(模块名.md + 模块名_en.md,命名与目录名一致;存量 README.md 命名目录触碰更新时建议改名) - 校验口径:先跑确定性脚本(doc_lint.py 四项检查:硬件代号/中英结构对齐/行号实证/Mermaid 易错点,ERROR 清零)+ 三层人工语义核对 - 侧别口径:Host 侧 / Device 侧(Device 侧按实际执行单元写实名,如 AICPU、CCU、MC2) - 适用边界:仅用于代码仓单个模块/组件目录的代码级文档;docs/ 目录文档归域路由层如实告知暂无规范,PR 检视中的意见判定归 hcomm-review 不重复建设:通用 Markdown 写作基线直接加载 .agents/skills/hcomm-review/references/markdown-writing.md,接口准确性核对沿用其 markdown-api-accuracy.md;文档写完后的上库流程衔接 hcomm-contribute skill。 评测集(维护 skill 时的手动回归基线,不进 CI):域级触发评测 27 条 + 路由评测 10 条 + software-module 行为评测 5 条;hcomm-review 侧触发评测 26 条 + 行为评测 6 条。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue #1043 ## 测试 已完成的测试用例和场景: 1. skill 结构经 skill 校验器检查通过(frontmatter / 目录结构 / 描述完整性) 2. 规范内容逐条对照仓内既有文档(taskException、profiling、cluster_monitor、rtsq_poll、streamTaskMonitor、communicator 六组中英双版)验证提炼自真实文档、无凭空规则 3. 分支已 rebase 到 upstream/master 最新(a1829efed),无冲突 4. doc_lint.py --selftest 通过(内置自测:违规样本逐项命中 + 干净样本零误报 + 扩展形态覆盖) 5. test_doc_lint.py 31 个单元测试全部通过(mock git 仓库,覆盖四项检查的边界——hw-codes 豁免/行号、双语表格张数与标题层级序列、行号引用裸名定位三分支、Mermaid 易错点正反例) 6. test_pr_review.py 46 个单元测试全部通过(含重复定义合并修复后回归) 7. doc_lint 对仓内 3 对存量双语文档(communicator/taskException/profiling)全绿零误报 8. 两 skill 全部 md 相对链接可达性检查零死链 补充的UT用例: test_doc_lint.py(31 用例);另修复 test_pr_review.py 存量缺陷(同名测试方法重复定义导致静默覆盖,47 定义仅 46 执行) ## 文档更新 本次新增即文档资产本身:.agents/skills/hcomm-doc-dev/(SKILL.md 路由器 + references/assets/scripts/evals 四目录下 software-module 子目录,含 module-doc.md 主规范、写作/图表/术语规范、模板、doc_lint.py 校验脚本及 31 用例单测、三层评测集)。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签([docs]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 ## hcomm-review 检视流程接入 本 MR 同时为 hcomm-review skill 补充"模块目录文档同步"检视维度: - SKILL.md:通用检视维度新增"模块目录文档同步",description 同步 - pr-completeness.md:新增"模块目录文档同步"节——查现状(有/无文档)→ 判断是否补/更 → 补充和更新使用 hcomm-doc-dev 的 software-module 子规范产出 - external-api.md / references/README.md:模块文档命名口径对齐 模块名.md/_en.md 流派 ## 检视意见处理记录 yanzhenghang 与 atomgit-bot 的检视意见已在 b21e11a37 提交中处理:doc_lint 四处检查逻辑修复(死检查/\b 漏检/表格行数误计/行号缺失)、评测集自洽(同义反标对改写、docs/ 类 note 说明两层语义)、条数声明对齐、terminology 表格修复、README 死链修复、agent_created 删除、DFX 偏译删除、侧别口径统一 Host/Device 侧。 See merge request: cann/hcomm!5994 | 18 天前 | |
fix(.gitcode): 修正 ISSUE_TEMPLATE 模板中的英文拼写错误 Co-authored-by: gcw_Z57idahf<liaopinyi714@outlook.com> # message auto-generated for no-merge-commit merge: !5429 merge fix/issue-922-issue-template-typos into master fix(.gitcode): 修正 ISSUE_TEMPLATE 模板中的英文拼写错误 Created-by: gcw_Z57idahf Commit-by: gcw_Z57idahf Merged-by: cann-robot Description: 修正 .gitcode/ISSUE_TEMPLATE/feature-request.yml 中的英文拼写/语法错误: - Thanks for sending an requirement! → Thanks for sending a requirement!(requirement 以辅音音素开头,冠词应为 a) - label: Backgroud(背景信息) → label: Background(背景信息)(该字段名会直接渲染在 Issue 创建页上) 关联 Issue: #922 See merge request: cann/hcomm!5429 | 27 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 10 天前 | |
[Docs] 修改 CCU 开发指南、TheadType 文档 Co-authored-by: jiyuanhao<jiyuanhao1@huawei.com> # message auto-generated for no-merge-commit merge: !6381 merge docs/example/ccu into master [Docs] 修改 CCU 开发指南、TheadType 文档 Created-by: jiyuanhao Commit-by: jiyuanhao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6381 | 6 天前 | |
【modify docs】添加architecture文件夹下内容的英文,修改样例参考readme中的产品名称 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !5650 merge master into master 【modify docs】添加architecture文件夹下内容的英文,修改样例参考readme中的产品名称 Created-by: flyswa Commit-by: zangyan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、为docs/zh/architecture增加英文文档 2、修改样例readme中的产品型号名称 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5650 | 1 个月前 | |
[build] 全链接目标启用 -Wl,--no-undefined 并按必要性原则补齐链接依赖 Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !6057 merge build/no-undefined into master [build] 全链接目标启用 -Wl,--no-undefined 并按必要性原则补齐链接依赖 Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 改动原因 动态库链接默认允许未解析符号,符号缺失被推迟到运行时才暴露,问题发现晚、定位难;同时部分目标依赖"库族同进程共同加载"的隐式运行时解析,链接依赖关系不显式。本 PR 开启链接期未定义符号校验,将符号缺失问题前移至构建阶段暴露,并将补链符号的隐式依赖显式化。 按交付节奏分两批落地,本 PR 为第一批(10 个链接目标);第二批(ccl_kernel、aicpu_custom、ra、ra_peer、ra_hdc、rs 及其补链)由后续 PR 跟进,范围划分详见关联 Issue。 ### 改动内容 1. 为 10 个链接目标启用 -Wl,--no-undefined(host 侧经 $<$<BOOL:${BUILD_OPEN_PROJECT}>:...> 注入,仅开源构建生效;ccl_kernel_plf 在其 BUILD_OPEN_PROJECT 分支的链接选项集合中追加): - host 侧:hcomm、hccl_alg、hccl_plf、ccl_dpu、topoaddrinfo、example_plugin(experimental 示例插件) - device 侧:hccd、ccl_kernel_plf、tsd_eventclient、net_co 2. 按必要性原则补齐链接依赖,每条链接均经符号级核验为对应符号的唯一提供者,无冗余: - ccl_dpu 补 unified_dlog(CheckLogLevel;无条件链接) - hccl_alg 补 runtime、acl_rt、profapi、-ldl(aclrt*、rt*、MsprofSysCycleTime、dl* 各组符号互不重叠、各自唯一;位于 BUILD_OPEN_PROJECT 分支) - hcomm 补 ra、hccl_legacy、ascend_hal(Ra*、HcclTbeMemClean、hal/drv 各自唯一;位于 BUILD_OPEN_PROJECT 分支);其 rt* 符号经 hccl_alg 新增的 libruntime 传递解析(ld 沿 DT_NEEDED 闭包),TaskService 族由原有 ccl_dpu 链接提供 3. 豁免与维持现状: - hccl_v2 不启用:其与 hcomm 为刻意设计的运行时符号环(hcomm.map 白名单导出 RankGraph/NetInstance 等符号供其运行时解析,出货形态即如此),链接期无法闭环 - net_co 日志经 dlsym 动态加载(net_slog.c),无链接期日志符号引用,无需补 unified_dlog - ra_adp、hccp_service.bin 此前已启用,无需修改 ### 影响面 - hccl_alg/hcomm/ccl_dpu 新增上述 DT_NEEDED 依赖,均为与产物共部署的库,符号提供者与原运行时一致,运行时行为不变 - 默认构建基线为 glibc ≥ 2.34(topoaddrinfo、net_co 的 pthread_* 引用由 libc 直接提供);如需覆盖 glibc < 2.34 的构建基线,需先为相应目标补 -lpthread - example_plugin 的选项经 BUILD_OPEN_PROJECT 注入,主构建路径下生效;独立编译该示例时需显式传 -DBUILD_OPEN_PROJECT=ON,否则该选项不生效 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程构建 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/1054 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项成功 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6057 | 8 天前 | |
[fix]修复legacy等目录注释中的英文拼写与拼接错误 Co-authored-by: Trouble_Im_in<guanzhongkang1@huawei.com> # message auto-generated for no-merge-commit merge: !5132 merge fix/remaining-comment-concat into master [fix]修复legacy等目录注释中的英文拼写与拼接错误 Created-by: Trouble_Im_in Commit-by: Trouble_Im_in Merged-by: cann-robot Description: ## 描述 修复注释中的英文拼写与拼接错误,提升代码注释可读性。修改覆盖 src/legacy、src/base_comm、src/coll_communicator_mgr、external_depends、pkg_inc 等目录,共 108 个文件、144 行;仅修改注释文本,不改动任何代码逻辑(gcc 剥注释比对修改前后代码零变化)。 修改内容分两类: 1. 拼写错误(代表性):updata→update、kernal→kernel、pipline→pipeline、sended→sent、channal→channel、ouput→output、intput→input、deivce/Deivce→device、agrs→args、rootrabnk→rootrank、dima→dma、silce→slice、chucksize→chunksize、xsliceszie/ysliceszie→xslicesize/yslicesize、serversion→ser_version、statter→scatter、servere/servre→server、severNum→serverNum、onshot→oneshot、cclbufer→cclbuffer、scrachMem→scratchMem、linkTyp→linkType、Tranport→Transport、multi-sever→multi-server、reducscatter→reducescatter、rtmemcopy→rtMemcpy、locall→local、resRepotPtr→resRepoPtr(与同文件标识符一致)、immeidata/immediata/immedidate→immediate、STADARD→STANDARD、whilte→white、slicecout0/1→sliceCountPart0/1(参数真名)、managent→management、Lauch/FFTSLauch→Launch/FFTSLaunch、Scrach/scrach→scratch、Tansport→Transport、comapre→compare、fasle/flase→false、hanle→handle、leve2→level2、meged→merged(megedRes→mergedRes)、contex→context(contexId→contextId)、reveive→receive、vecotr/vetor→vector、btye→byte、bufer→buffer、clien→client、detroy→destroy、stram→stream、Pipline→Pipeline、Profling→Profiling、NpuDriect→NpuDirect、commComfig→commConfig、dymamically→dynamically 等 2. 缺空格拼接(代表性):ringallreduce→ring allreduce、ackrecord→ack record、ackwait→ack wait、bitpadding→bit padding、scatterACK→scatter ACK、channelhandle→channel handle、inittime→init time、insever→in server、ctrltask/othertask→ctrl task/other task、scratchmemory→scratch memory、reduceinline→reduce inline、senddevice/recvdevice/sdisplsdevice/rdisplsdevice→send/recv/sdispls/rdispls device、pushback→push_back 等 修改约束: - 未改动宏/枚举/字段/函数名本身(BKF_JOB_FINSIH、INVLID_MOUDLE_ID、remotetRankID、asyncJobLaunch、MEMCPY_SUMBIT_TYPE 等)及日志、代码字符串,避免影响行为;注释中引用这些名称时保持与代码拼写一致 - test 目录(含 test/stub、test/ut、test/legacy、test/hccl_vm)本轮不修改 - binded、adpee、actived 为项目/urma 接口惯用写法保持原样;8pring/4pring(isTopo8pring 拓扑概念)、CNA、OT、CMO、abl 等领域缩写保持原样 - 大小写不规范(如 reducescatter、groupid、usrOUt、hostrdma 等驼峰/大小写形式)及 addfence、needtodo、portgroup、aclmemcpy、endwith 等按评审意见保持原样 - 全部替换仅作用于注释区间(逐字符解析字符串与注释边界),代码中的同名标识符不受影响 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:注释质量修复(英文拼写与拼接错误),纯注释修改,无功能变更 ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. gcc 剥注释比对:对全部 108 个改动文件,用 gcc -fpreprocessed -dD -E -P 比对修改前后预处理输出,逐字节一致,证明仅注释变化、代码零改动 2. pre-commit 钩子(clang-format + OAT 增量扫描)全部通过 补充的UT用例:NA(纯注释修改,无逻辑变更,不涉及用例补充) ## 文档更新 无 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标(纯注释修改,无逻辑变更,不涉及UT) - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5132 | 1 个月前 | |
[feat] aiv直驱urma场景支持sq/scq可配置 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !6009 merge aiv_urma_sq_scq into master [feat] aiv直驱urma场景支持sq/scq可配置 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 本 PR 为 AIV 直驱 URMA 场景新增 SQ/SCQ 队列深度可配置能力。改动在通信域配置结构 HcclCommConfig 中新增 hcclChannelScqDepth 配置项及对应未配置常量 HCCL_COMM_SCQ_DEPTH_CONFIG_NOT_SET,将配置版本号从 11 提升至 12,并在 CommConfig 中补充 scqDepth_ 字段与 SetConfigScqDepth/GetConfigScqDepth 存取接口;同时新增 ApplyHcclScqDepth 按版本生效的配置解析逻辑,并重构 MyRank::ConfigSqDepthByExpansionMode,使 AIV 引擎配合 UBC_TP/UBC_CTP/UBG 协议时可按配置下发 sqDepth 与 scqDepth。 特殊说明: 1.CommConfig 配置载体位于 legacy ,本次必须在此扩展 2.src/legacy/ascend950/unified_platform/external_system/orion_adapter_hccp.cc(bug 修复): HrtRaUbCreateJfc 的 USER_CTL 模式 cqInfo.va 由 info.out.va(JFC 对象指针)修正为 info.out.bufAddr(CQ buffer VA),并补齐 id/cqeSize/cqDepth/swdbAddr 回填; 此前四字段为未初始化值、va 语义错误,实机 AIV scqDepth 场景分别触发 errCode 271/95。 非 USER_CTL 模式(STARS_POLL/CCU_POLL/NORMAL 共享 JFC 路径)va 取值不变,仅补齐字段回填; GetJfcHandleAndCqInfo 路径不受影响。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. sq/cq配置相关用例实机验证功能 2. 补充的UT用例: 1. ut_HcclCommConfigInit_API_test.cc - Ut_HcclCommConfigInit_When_Normal_Expect_Normal: 更新结构体版本断言(11→12),补充 hcclChannelScqDepth 默认值(NOT_SET)断言。 2. ut_coll_comm_test.cc - Ut_ApplyHcclCommConfig_When_SqDepthVaries_Expect_VersionRules: 扩展 7 组 scqDepth 版本门控用例(version=10/11 时 scqDepth 不生效落 NOT_SET, version=12 时生效)。 3. ut_hcomm_c_adpt_ubattr.cc - 新增 5 个 CheckUbAttr 用例,覆盖 sqDepth/scqDepth 非 2 的幂向上取整 (63→64、100→128)与 NOT_SET 保持不变。 4. ut_my_rank.cc - Ut_ConfigSqDepthByExpansionMode_When_EngineAndProtocolVary_Expect_ScopedPropagation: 扩展 10 组用例覆盖 scqDepth 维度(AIV+URMA 生效 / 非 AIV 或非 URMA 仅告警保持初值 / 未配置不被修改),验证 isAivUrma 提前返回重构下 sq/scq 两分支行为一致。 5. ut_comm_config.cc - utCommConfig_version_compatibility_scq_depth_v12:version=12 时 SetConfigByVersion 读取 CommConfigHandle.scqDepth 落值。 - utCommConfig_version_compatibility_scq_depth_v11:version=11 时 scqDepth_ 保持 HCCL_COMM_SCQ_DEPTH_CONFIG_NOT_SET。 ## 文档更新 1. docs/zh/api_ref/comm_mgr_c/data_type_definition/HcclCommConfig.md - 结构体代码段新增 hcclChannelScqDepth 字段; - 参数说明新增 hcclChannelScqDepth 条目:A5 场景 AIV 展开模式下 UB_CTP/UBC_TP/UB_RTP 协议可配置,配置值向上调整为 2 的整数次幂, 有效取值范围 [64, 32768],未配置使用默认深度 32768。 2. docs/zh/api_ref/comm_opdev/datatype_definition/HcommChannelDesc.md - ubAttr.scqDepth 说明更新:删除"仅支持 HOST 和 AICPU 场景,AIV 不支持", 补充各场景取值范围(HOST [64, 32768] / AICPU [64, 16384] / AIV [64, 32768])。 3. include/hcomm_channel.h - ubAttr.scqDepth 字段注释同步更新(同上,含 AIV 场景支持声明)。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6009 | 8 天前 | |
[feat] Add Hcomm Thread&Channel Entity support Co-authored-by: ca1kw<caikaiwei@huawei.com> # message auto-generated for no-merge-commit merge: !5739 merge aicpu_channel_thread_adaptation into master [feat] Add Hcomm Thread&Channel Entity support Created-by: ca1kw Commit-by: ca1kw Merged-by: cann-robot Description: ## 描述 本 PR 为 AICPU 数据面引入 Thread/Channel Entity 资源模型,并将线程与通道的创建、导出、补充、更新和销毁链路统一到该模型上,解决 Host 侧直接持有或访问 AICPU Device Entity 造成的生命周期与句柄语义不一致问题。 主要改动: 1. **跨仓 POD ABI** - 在 pkg_inc/hcomm/hcomm_res_entity_defs.h 中定义 HcommThreadEntity、HcommThreadSqContext、ChannelEntity 扩展字段及 ABI 版本/魔术字。 - ChannelEntity 增加 HcommDevInfo 与 compatChannelHandle;HcommThreadEntity 持有设备信息、Notify 数组、RTSQ 上下文和兼容线程句柄。 - 该头文件同时作为 hcomm 内部实体和 asc-comm 按句柄直取的跨 SO POD 契约,两侧布局需保持一致。 2. **Thread Entity 资源管理** - 新增 ThreadEntityResources,负责 Host 侧预分配 Device 固定内存、Notify 数组和 RTSQ 上下文。 - 扩展 Thread 的 engine→entity 映射、线程句柄登记和 Entity→raw handle 的兼容解包能力。 - 补充 A3 profiling 入口的句柄解包,保持 A3 legacy ABI 兼容。 3. **Channel Entity 资源管理** - 新增 AicpuChannelEntityResources,从连接序列化数据构建 ChannelEntity,并 stage 到 Device 内存。 - 为 AICPU TS URMA 通道构建 Device Entity,并通过 alias 表维护 entity 句柄与原始 device channel 句柄的映射。 - 扩展 ChannelProcess 的通道注册表、alias 登记、句柄解析和销毁映射,适配 upstream 最新的进程级 Handle Registry 模型。 4. **生命周期与恢复路径** - AICPU 直接复用通道时只追加缺失的 symmetric memory handle,避免重复注册。 - 通道更新路由到持有对应 entity 的 transport map,并在更新后恢复通信上下文。 - 修正 KFC/NS recovery 状态复位与 AICPU 通信域恢复路径,保证 Stop/Clean/Resume 后句柄和状态一致。 - 销毁路径按 entity alias 反解原始 channel/thread 句柄,避免误销毁或漏销毁。 5. **AIV 适配** - AIV RoCE Host Loc / URMA 路径同步生成 ChannelEntity,供 Device 侧数据面按统一实体结构访问。 - 统一通道实体构建入口 HcommChannelBuildDeviceEntity,由 base_comm 边界提供。 ## 变更类型 - [x] ✨ 新特性 - [x] 🐛 Bug修复 ## 关联的Issue NA > 说明:本 PR 涉及跨仓 ABI 与新资源模型,正式合入前建议补充 Requirement Issue/RFC,并明确 asc-comm 配套提交与同步发布计划。 ## 测试 已完成的测试用例和场景: 1. 线程 Entity 生命周期: - 预分配、发布、补充 Notify、转换为 raw handle、重复导出和销毁。 - A3 profiling 入口对 Entity/raw handle 的兼容处理。 2. 通道 Entity 生命周期: - AICPU TS URMA Entity 构建、alias 登记、句柄解析和销毁。 - AIV RoCE Host Loc / URMA Entity 构建。 - 通道复用时 symmetric memory handle 的追加与跳过逻辑。 3. 恢复路径: - KFC/NS recovery 状态复位、AICPU 通信域恢复和 transport map 更新。 4. CI 验证: - 最新 GitCode CI pipeline 已通过(ci-pipeline-passed)。 - 最新通过 run:bad51a371dee468c9b9399720f498531。 补充的UT用例: - ThreadAicpuMgrTest.FillEntityFailureDestroysCurrentThread - ut_a3_thread_profiling.cc 中 A3 profiling 句柄兼容用例 - ut_cpu_HcommThreadNotifyRecordOnThread.cc 中 CPU 侧 Notify Record 用例 - test_thread_api.cc 中 Thread Entity 预分配、复用、补充 Notify 和句柄映射用例 - test_thread_device_api.cc 中 Device 线程 Entity 校验用例 - ut_channel_process_test.cc 中 Channel Entity 构建、alias 映射和销毁映射用例 - ut_coll_comm_res_c_adpt.cc 中通道复用和 symmetric handle 追加用例 - ut_my_rank.cc 中 AICPU 公共句柄转换与恢复路径用例 - ut_ns_recovery.cc 中 NS recovery 状态处理用例 ## 文档更新 本 PR 未新增独立设计文档。跨仓 ABI 的关键约束已在 pkg_inc/hcomm/hcomm_res_entity_defs.h 中通过注释说明。由于涉及 hcomm ↔ asc-comm 二进制契约,建议后续补充 RFC 或架构说明,明确: - ABI 布局与版本策略 - asc-comm 配套提交 - 兼容性升级流程 - compatChannelHandle / compatThreadHandle 的使用边界 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到“测试”部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5739 | 7 天前 | |
[build] OAT Check Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !5123 merge build/pre-commit into master [build] OAT Check Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 更新 OAT 检查脚本,并统一当前代码中 License 格式问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译通过 2. 全量拦截通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5123 | 1 个月前 | |
[enhancement] hcomm 仓新增 .clang-tidy 增量拦截脚本 + build.sh 集成 Co-authored-by: yanzhenghang<625612333@qq.com> # message auto-generated for no-merge-commit merge: !4438 merge feature/issue-752-clang-tidy into master [enhancement] hcomm 仓新增 .clang-tidy 增量拦截脚本 + build.sh 集成 Created-by: yanzhenghang Commit-by: yanzhenghang Merged-by: cann-robot Description: ## 描述 本 PR 在 hcomm 仓新增 .clang-tidy 函数复杂度控制配置 + scripts/clang_tidy_check.py 增量拦截脚本 + build.sh 集成,实现**新增代码的函数复杂度真正拦截**(存量代码不阻塞)。 ### 配置文件 .clang-tidy 启用 readability-function-size + readability-function-cognitive-complexity,阈值遵循华为 C/C++ 编程规范:函数行 50 / 语句 50 / 分支 15 / 参数 6 / 嵌套 4 / 认知复杂度 25。WarningsAsErrors 留空(脚本控制阻断)。 ### 增量拦截脚本 scripts/clang_tidy_check.py + .sh - git diff TARGET_BRANCH...HEAD 找变更文件 + 新增行号 - clang-tidy -p build <变更文件> 跑(带 compile_commands.json) - 过滤告警:只保留**告警行在新增行内**的(存量函数告警过滤) - 有违规则 exit 1(阻断) - Fallback:无 clang-tidy / compile_commands.json / base-ref 时跳过(exit 0),不误阻断 ### build.sh 集成 构建后调用 clang_tidy_check.sh,ENABLE_CLANG_TIDY_CHECK 环境变量控制(默认 on)。 ### 拦截语义 - 新增函数(定义行是新增)→ 告警行在新增行 → **拦截 exit 1** - 修改存量超阈值函数 1 行(定义行非新增)→ 告警过滤 → **不拦截** - 存量代码不阻塞,只拦新增代码 ## 变更类型 - [x] ✨ 新特性 ## 关联的Issue - hcomm issue:https://gitcode.com/cann/hcomm/issues/752 - 上游 infrastructure issue:https://gitcode.com/cann/infrastructure/issues/229 ## 测试 已完成的测试用例和场景: 1. 独立测试项目 5 用例全通过: - case1 新增 7 参数函数 → 拦截 exit 1 ✅ - case2 新增 50 变量函数 → 拦截 exit 1 ✅ - case3 存量超阈值函数改 1 行(非定义行)→ 过滤 exit 0 ✅ - case4 新增合规函数 → 通过 exit 0 ✅ - case5 NOLINT 豁免 → 通过 exit 0 ✅ - case6 新增 59 行函数 → 拦截 exit 1 ✅ 2. hcomm 真实场景端到端验证:exception_callback_mgr.cc 加 7 参数函数 → 脚本检测违规 + exit 1 ✅ 3. OAT 合规检查通过(scripts 文件带 license header,Invalid File Type=0,License Header Invalid=0) 补充的UT用例:NA(脚本是构建工具,非库代码) ## 文档更新 .clang-tidy 配置文件内含详细注释(英文,Scope/Local verification/CI integration 说明)。scripts/clang_tidy_check.py 含模块级 docstring。 ## 合入检查 - [x] 🧐 已读贡献指南 - [x] 🔍 committer 检查前必要项 - [x] 🏷️ 标题类型标签 [enhancement] - [x] 📄 变更已描述 - [x] 📝 注释已更新 - [x] 🛠️ 静态分析通过(YAML + OAT + clang-tidy 配置生效验证) - [x] 🚀 前冒烟检查 - [x] 🔧 编译无错误(仅新增配置+脚本,build.sh 集成有 fallback) - [x] 🎯 approver 检查 ## CI 拦截说明 本 PR 的 build.sh 集成会在 CI Compile 任务构建后跑 clang-tidy 增量检查。若 CI Compile 镜像未装 clang-tidy,脚本 fallback 跳过(exit 0,不阻断)。**真正 CI 拦截需 infrastructure 在 Compile 镜像预装 clang-tidy**(issue #229 范围)。 ## 检视意见修复(第 2 轮,2026-10-20) 针对本 PR 六条检视意见(1 HIGH + 3 MEDIUM + 2 LOW)逐一修复: 1. **[HIGH] 修复脚本 cwd 依赖**:入口解析仓库根(git rev-parse --show-toplevel)并 os.chdir,git pathspec 与 os.path.isfile 均以仓库根解析,build/ 目录下调用不再漏检 2. **[MEDIUM] parse_warnings 保留 file 字段**:违规判定增加告警文件与被检文件的归一化绝对路径比对,头文件告警即使行号落入新增行也不会误拦 3. **[MEDIUM] clang-tidy 返回码检查**:run_clang_tidy 返回 (output, returncode),分析失败(rc!=0)打印醒目 WARNING 并计入汇总,不再静默 PASS 4. **[MEDIUM] base-ref 回退修复**:按 upstream → origin 顺序尝试,分支名从 TARGET_BRANCH 或默认 base-ref 派生,fetch 用显式 refspec 真正更新 remote-tracking ref 5. **[LOW] HeaderFilterRegex 锚定**:改为 (^|[/\])(src|include|pkg_inc|test|experimental)[/\],兼容相对路径与 compile database 绝对路径,锚定到路径段边界 6. **[LOW] 仓内单测补齐**:新增 scripts/clang_tidy_check_test.py(8 用例:-U0 hunk 解析含纯删除、cwd 无关性、告警 file/line/check 解析、compile db 归一化),接入 build.sh UT 流程 **新增发现并修复(拦截生效关键)**:两仓 CMake 均未导出 compile_commands.json,构建不产出该文件导致检查从未真正执行;已加 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON。 **特殊情况屏蔽(豁免)**: - // NOLINT(check) / // NOLINTNEXTLINE(check) 原生抑制(.clang-tidy 注释说明用法) - 无 compile_commands.json 条目的变更源文件(生成代码/第三方源码)显式跳过并打 WARNING - 变更头文件无编译条目时以 standalone -x c++ 模式分析,新增复杂度仍被拦截 测试:本机 python 单测 8/8 通过(Windows python 3.14 + Linux python 3.10 双验证);WSL clang-tidy 14.0.1 真实验证 8 场景全通过(新增 7 参函数拦截 exit 1 / NOLINT 与 NOLINTNEXTLINE 豁免 exit 0 / 存量行告警过滤 / 第三方文件跳过 / 头文件 50+ 行 standalone 拦截 / build 子目录调用 cwd 无关 / 配置 dump 解析通过)。 ## 交叉验证修复(2026-10-20 晚,glm-5.3 独立模型交叉检视后) 1. **HeaderFilterRegex YAML 引号 bug 修复**:双引号字符串内反斜杠被 YAML 转义吞掉,正则字符集未闭合成为非法正则(llvm::Regex 静默失效,头文件过滤完全落空)。改为 YAML 单引号(单引号内无反斜杠转义),正则文本为 (^|[/\])(src|include|pkg_inc|test|experimental)[/\]。WSL 真实场景验证:被检源文件 include 的违规头文件告警现在正确出现(修复前被整体抑制),且被脚本按文件归一化比对正确过滤不误拦,新增违规头文件仍被拦截。 2. **build.sh 错误日志死代码修复**:set -e 下 bash ... ; if [ $? -ne 0 ] 的失败日志永不打印,改为 if ! bash ...; then log ...; exit 1; fi,退出码语义不变、错误信息可见。 3. 脚本移除冗余 +++ 行排除条件(new_start 守卫已覆盖文件头),docstring 补充头文件 standalone 无 -I 的告警语义。 4. 单测增至 9 用例(新增重命名文件场景),WSL clang-tidy 14.0.1 真实验证累计 16 场景全通过。 未采纳说明(记录为设计边界):增量检查挂在默认构建分支(CI Compile 任务走默认 build.sh 入口,见流水线任务表);头文件 standalone 无 -I 路径(失败仅告警不阻断);ENABLE_CLANG_TIDY_CHECK 仅环境变量开关(与仓内 env 开关惯例一致)。 ## 第三轮(2026-10-21,检视意见 jiyuanhao + 可读性/验证要求) 1. **脚本目录收敛**:三个脚本移至 scripts/clang-tidy/(避免与 scripts/ 打包脚本混淆),build.sh 与 .clang-tidy 引用同步更新 2. **.clang-tidy 注释重写为白话规则说明**:每条阈值的含义、检查范围(全仓 C/C++ 变更文件均纳入:db 条目源文件带全编译参数分析、头文件 standalone、无条目第三方源显式跳过)、NOLINT/NOLINTNEXTLINE 屏蔽示例、执行时机(默认构建后,非 UT)、缺依赖行为(不自动下载,WARNING+跳过+安装命令)、一分钟自测配方 3. **CI 实证**(v8 日志端点下载): - Compile 任务日志:bash build.sh --pkg 后真实执行 Running clang-tidy incremental check (ENABLE_CLANG_TIDY_CHECK=on),当前镜像无 clang-tidy 按设计 WARNING 跳过 - UT 任务日志:Ran 9 tests in 0.116s / OK——单测在 UT 流程最先执行并通过 ## 第四轮(2026-10-21,作者要求:基线加固 + 豁免政策) 1. **增量基线加固**:default base-ref 恒为 upstream/<目标分支>(CI 的 TARGET_BRANCH 只选分支名,不再产生裸本地分支名,杜绝"本地过期分支被当基线");resolve_base_ref 使用前从 remote fetch 刷新(upstream→origin 回退);docstring 与 .clang-tidy 注释写明三点 diff 语义——**新增行永远指"本分支相对 gitcode 上游最新目标分支的新增",上游新增行不会归属到本分支** 2. **豁免政策**:.clang-tidy 注释重写为**原则上禁止屏蔽**("complex functions get split, not silenced",豁免行与代码同等检视,无理由的豁免会被拒绝);示例隐晦化——机制只指向 clang-tidy 官方文档,不再给出可照抄的完整 NOLINT 样板;自测配方保留一个泛化写法(// NOLINT(<FAIL 行报告的检查名>))并注明仅限自测 3. 单测增至 12 用例(新增 default_base_ref 的 TARGET_BRANCH 语义两例);自测配方补提交步骤(检查只对比已提交变更,与 CI 语义一致) See merge request: cann/hcomm!4438 | 11 天前 | |
[fix]shared jetty code refact | 6 天前 | |
[fix]shared jetty code refact | 6 天前 | |
[build] License Header Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4556 merge build/oat into master [build] License Header Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 全仓C/C++、CMake、Python、Shell文件规范头部License的使用 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4556 | 2 个月前 | |
[enhancement] hcomm 仓新增 .clang-tidy 增量拦截脚本 + build.sh 集成 Co-authored-by: yanzhenghang<625612333@qq.com> # message auto-generated for no-merge-commit merge: !4438 merge feature/issue-752-clang-tidy into master [enhancement] hcomm 仓新增 .clang-tidy 增量拦截脚本 + build.sh 集成 Created-by: yanzhenghang Commit-by: yanzhenghang Merged-by: cann-robot Description: ## 描述 本 PR 在 hcomm 仓新增 .clang-tidy 函数复杂度控制配置 + scripts/clang_tidy_check.py 增量拦截脚本 + build.sh 集成,实现**新增代码的函数复杂度真正拦截**(存量代码不阻塞)。 ### 配置文件 .clang-tidy 启用 readability-function-size + readability-function-cognitive-complexity,阈值遵循华为 C/C++ 编程规范:函数行 50 / 语句 50 / 分支 15 / 参数 6 / 嵌套 4 / 认知复杂度 25。WarningsAsErrors 留空(脚本控制阻断)。 ### 增量拦截脚本 scripts/clang_tidy_check.py + .sh - git diff TARGET_BRANCH...HEAD 找变更文件 + 新增行号 - clang-tidy -p build <变更文件> 跑(带 compile_commands.json) - 过滤告警:只保留**告警行在新增行内**的(存量函数告警过滤) - 有违规则 exit 1(阻断) - Fallback:无 clang-tidy / compile_commands.json / base-ref 时跳过(exit 0),不误阻断 ### build.sh 集成 构建后调用 clang_tidy_check.sh,ENABLE_CLANG_TIDY_CHECK 环境变量控制(默认 on)。 ### 拦截语义 - 新增函数(定义行是新增)→ 告警行在新增行 → **拦截 exit 1** - 修改存量超阈值函数 1 行(定义行非新增)→ 告警过滤 → **不拦截** - 存量代码不阻塞,只拦新增代码 ## 变更类型 - [x] ✨ 新特性 ## 关联的Issue - hcomm issue:https://gitcode.com/cann/hcomm/issues/752 - 上游 infrastructure issue:https://gitcode.com/cann/infrastructure/issues/229 ## 测试 已完成的测试用例和场景: 1. 独立测试项目 5 用例全通过: - case1 新增 7 参数函数 → 拦截 exit 1 ✅ - case2 新增 50 变量函数 → 拦截 exit 1 ✅ - case3 存量超阈值函数改 1 行(非定义行)→ 过滤 exit 0 ✅ - case4 新增合规函数 → 通过 exit 0 ✅ - case5 NOLINT 豁免 → 通过 exit 0 ✅ - case6 新增 59 行函数 → 拦截 exit 1 ✅ 2. hcomm 真实场景端到端验证:exception_callback_mgr.cc 加 7 参数函数 → 脚本检测违规 + exit 1 ✅ 3. OAT 合规检查通过(scripts 文件带 license header,Invalid File Type=0,License Header Invalid=0) 补充的UT用例:NA(脚本是构建工具,非库代码) ## 文档更新 .clang-tidy 配置文件内含详细注释(英文,Scope/Local verification/CI integration 说明)。scripts/clang_tidy_check.py 含模块级 docstring。 ## 合入检查 - [x] 🧐 已读贡献指南 - [x] 🔍 committer 检查前必要项 - [x] 🏷️ 标题类型标签 [enhancement] - [x] 📄 变更已描述 - [x] 📝 注释已更新 - [x] 🛠️ 静态分析通过(YAML + OAT + clang-tidy 配置生效验证) - [x] 🚀 前冒烟检查 - [x] 🔧 编译无错误(仅新增配置+脚本,build.sh 集成有 fallback) - [x] 🎯 approver 检查 ## CI 拦截说明 本 PR 的 build.sh 集成会在 CI Compile 任务构建后跑 clang-tidy 增量检查。若 CI Compile 镜像未装 clang-tidy,脚本 fallback 跳过(exit 0,不阻断)。**真正 CI 拦截需 infrastructure 在 Compile 镜像预装 clang-tidy**(issue #229 范围)。 ## 检视意见修复(第 2 轮,2026-10-20) 针对本 PR 六条检视意见(1 HIGH + 3 MEDIUM + 2 LOW)逐一修复: 1. **[HIGH] 修复脚本 cwd 依赖**:入口解析仓库根(git rev-parse --show-toplevel)并 os.chdir,git pathspec 与 os.path.isfile 均以仓库根解析,build/ 目录下调用不再漏检 2. **[MEDIUM] parse_warnings 保留 file 字段**:违规判定增加告警文件与被检文件的归一化绝对路径比对,头文件告警即使行号落入新增行也不会误拦 3. **[MEDIUM] clang-tidy 返回码检查**:run_clang_tidy 返回 (output, returncode),分析失败(rc!=0)打印醒目 WARNING 并计入汇总,不再静默 PASS 4. **[MEDIUM] base-ref 回退修复**:按 upstream → origin 顺序尝试,分支名从 TARGET_BRANCH 或默认 base-ref 派生,fetch 用显式 refspec 真正更新 remote-tracking ref 5. **[LOW] HeaderFilterRegex 锚定**:改为 (^|[/\])(src|include|pkg_inc|test|experimental)[/\],兼容相对路径与 compile database 绝对路径,锚定到路径段边界 6. **[LOW] 仓内单测补齐**:新增 scripts/clang_tidy_check_test.py(8 用例:-U0 hunk 解析含纯删除、cwd 无关性、告警 file/line/check 解析、compile db 归一化),接入 build.sh UT 流程 **新增发现并修复(拦截生效关键)**:两仓 CMake 均未导出 compile_commands.json,构建不产出该文件导致检查从未真正执行;已加 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON。 **特殊情况屏蔽(豁免)**: - // NOLINT(check) / // NOLINTNEXTLINE(check) 原生抑制(.clang-tidy 注释说明用法) - 无 compile_commands.json 条目的变更源文件(生成代码/第三方源码)显式跳过并打 WARNING - 变更头文件无编译条目时以 standalone -x c++ 模式分析,新增复杂度仍被拦截 测试:本机 python 单测 8/8 通过(Windows python 3.14 + Linux python 3.10 双验证);WSL clang-tidy 14.0.1 真实验证 8 场景全通过(新增 7 参函数拦截 exit 1 / NOLINT 与 NOLINTNEXTLINE 豁免 exit 0 / 存量行告警过滤 / 第三方文件跳过 / 头文件 50+ 行 standalone 拦截 / build 子目录调用 cwd 无关 / 配置 dump 解析通过)。 ## 交叉验证修复(2026-10-20 晚,glm-5.3 独立模型交叉检视后) 1. **HeaderFilterRegex YAML 引号 bug 修复**:双引号字符串内反斜杠被 YAML 转义吞掉,正则字符集未闭合成为非法正则(llvm::Regex 静默失效,头文件过滤完全落空)。改为 YAML 单引号(单引号内无反斜杠转义),正则文本为 (^|[/\])(src|include|pkg_inc|test|experimental)[/\]。WSL 真实场景验证:被检源文件 include 的违规头文件告警现在正确出现(修复前被整体抑制),且被脚本按文件归一化比对正确过滤不误拦,新增违规头文件仍被拦截。 2. **build.sh 错误日志死代码修复**:set -e 下 bash ... ; if [ $? -ne 0 ] 的失败日志永不打印,改为 if ! bash ...; then log ...; exit 1; fi,退出码语义不变、错误信息可见。 3. 脚本移除冗余 +++ 行排除条件(new_start 守卫已覆盖文件头),docstring 补充头文件 standalone 无 -I 的告警语义。 4. 单测增至 9 用例(新增重命名文件场景),WSL clang-tidy 14.0.1 真实验证累计 16 场景全通过。 未采纳说明(记录为设计边界):增量检查挂在默认构建分支(CI Compile 任务走默认 build.sh 入口,见流水线任务表);头文件 standalone 无 -I 路径(失败仅告警不阻断);ENABLE_CLANG_TIDY_CHECK 仅环境变量开关(与仓内 env 开关惯例一致)。 ## 第三轮(2026-10-21,检视意见 jiyuanhao + 可读性/验证要求) 1. **脚本目录收敛**:三个脚本移至 scripts/clang-tidy/(避免与 scripts/ 打包脚本混淆),build.sh 与 .clang-tidy 引用同步更新 2. **.clang-tidy 注释重写为白话规则说明**:每条阈值的含义、检查范围(全仓 C/C++ 变更文件均纳入:db 条目源文件带全编译参数分析、头文件 standalone、无条目第三方源显式跳过)、NOLINT/NOLINTNEXTLINE 屏蔽示例、执行时机(默认构建后,非 UT)、缺依赖行为(不自动下载,WARNING+跳过+安装命令)、一分钟自测配方 3. **CI 实证**(v8 日志端点下载): - Compile 任务日志:bash build.sh --pkg 后真实执行 Running clang-tidy incremental check (ENABLE_CLANG_TIDY_CHECK=on),当前镜像无 clang-tidy 按设计 WARNING 跳过 - UT 任务日志:Ran 9 tests in 0.116s / OK——单测在 UT 流程最先执行并通过 ## 第四轮(2026-10-21,作者要求:基线加固 + 豁免政策) 1. **增量基线加固**:default base-ref 恒为 upstream/<目标分支>(CI 的 TARGET_BRANCH 只选分支名,不再产生裸本地分支名,杜绝"本地过期分支被当基线");resolve_base_ref 使用前从 remote fetch 刷新(upstream→origin 回退);docstring 与 .clang-tidy 注释写明三点 diff 语义——**新增行永远指"本分支相对 gitcode 上游最新目标分支的新增",上游新增行不会归属到本分支** 2. **豁免政策**:.clang-tidy 注释重写为**原则上禁止屏蔽**("complex functions get split, not silenced",豁免行与代码同等检视,无理由的豁免会被拒绝);示例隐晦化——机制只指向 clang-tidy 官方文档,不再给出可照抄的完整 NOLINT 样板;自测配方保留一个泛化写法(// NOLINT(<FAIL 行报告的检查名>))并注明仅限自测 3. 单测增至 12 用例(新增 default_base_ref 的 TARGET_BRANCH 语义两例);自测配方补提交步骤(检查只对比已提交变更,与 CI 语义一致) See merge request: cann/hcomm!4438 | 11 天前 | |
[build] unified encoding, line breaks, and license header format Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4522 merge build/encoding into master [build] unified encoding, line breaks, and license header format Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 文本编码格式统一为 UTF-8 2. 所有文本换行符 CRLF 转为 LF,并在 .gitattributes 添加相应规则 3. OAT 检查涉及额外文件补充 license 头,并在 OAT.xml 更新规则 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译通过 2. 全量拦截项通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4522 | 2 个月前 | |
[test]新增ST覆盖率生成报告功能 Co-authored-by: zhy_brian<zhouyong82@huawei.com> # message auto-generated for no-merge-commit merge: !6279 merge st_test into master [test]新增ST覆盖率生成报告功能 Created-by: zhy_brian Commit-by: zhy_brian Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [test]新增ST覆盖率生成报告功能 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 新增ST覆盖率生成报告功能 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6279 | 10 天前 | |
[build] OAT Check Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !5123 merge build/pre-commit into master [build] OAT Check Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 更新 OAT 检查脚本,并统一当前代码中 License 格式问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译通过 2. 全量拦截通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5123 | 1 个月前 | |
[docs] 修正AGENTS编码规范描述与工程配置不一致(指针左对齐/C++17) Co-authored-by: Leewis<liwei945@huawei.com> # message auto-generated for no-merge-commit merge: !5889 merge fix/issue-1017-agents-coding-style into master [docs] 修正AGENTS编码规范描述与工程配置不一致(指针左对齐/C++17) Created-by: Leewis Commit-by: Leewis Merged-by: cann-robot Description: ## 描述 AGENTS.md:78 与 AGENTS_en.md:78 的编码规范描述"指针右对齐;C++14 / pointer right-aligned; Use C++14"与仓库当前工程配置不一致: - .clang-format:91 为 PointerAlignment: Left(指针左对齐); - CMakeLists.txt:63-64 为 set(CMAKE_CXX_STANDARD 17) / CMAKE_CXX_STANDARD_REQUIRED ON(C++17)。 本 PR 同步修正两处描述:指针右对齐 → 指针左对齐、C++14 → C++17(英文版对应 pointer right-aligned → pointer left-aligned、Use C++14 → Use C++17)。与 hccl 仓 issue #702 同源问题成对修复(hccl 侧由 PR cann/hccl#3527 处理)。改动仅同步文档描述,不涉及构建逻辑、接口或运行时行为。 ## 变更类型 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue https://gitcode.com/cann/hcomm/issues/1017 ## 测试 已完成的测试用例和场景: 1. 纯文档修改,无编译/测试影响; 2. 已验证修改后 AGENTS.md/AGENTS_en.md 第 5 节描述与 .clang-format(PointerAlignment: Left)及 CMakeLists.txt(CMAKE_CXX_STANDARD 17)逐项一致; 3. 中英文两版本表述同步修改,保持语义一致。 补充的UT用例: NA(纯文档修改) ## 文档更新 - AGENTS.md(第 5 节编码规范描述) - AGENTS_en.md(第 5 节编码规范描述) ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标(纯文档修改,不涉及) - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误(纯文档修改,不涉及) - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 ## 关联的Issue #1017 See merge request: cann/hcomm!5889 | 27 天前 | |
[docs] 修正AGENTS编码规范描述与工程配置不一致(指针左对齐/C++17) Co-authored-by: Leewis<liwei945@huawei.com> # message auto-generated for no-merge-commit merge: !5889 merge fix/issue-1017-agents-coding-style into master [docs] 修正AGENTS编码规范描述与工程配置不一致(指针左对齐/C++17) Created-by: Leewis Commit-by: Leewis Merged-by: cann-robot Description: ## 描述 AGENTS.md:78 与 AGENTS_en.md:78 的编码规范描述"指针右对齐;C++14 / pointer right-aligned; Use C++14"与仓库当前工程配置不一致: - .clang-format:91 为 PointerAlignment: Left(指针左对齐); - CMakeLists.txt:63-64 为 set(CMAKE_CXX_STANDARD 17) / CMAKE_CXX_STANDARD_REQUIRED ON(C++17)。 本 PR 同步修正两处描述:指针右对齐 → 指针左对齐、C++14 → C++17(英文版对应 pointer right-aligned → pointer left-aligned、Use C++14 → Use C++17)。与 hccl 仓 issue #702 同源问题成对修复(hccl 侧由 PR cann/hccl#3527 处理)。改动仅同步文档描述,不涉及构建逻辑、接口或运行时行为。 ## 变更类型 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue https://gitcode.com/cann/hcomm/issues/1017 ## 测试 已完成的测试用例和场景: 1. 纯文档修改,无编译/测试影响; 2. 已验证修改后 AGENTS.md/AGENTS_en.md 第 5 节描述与 .clang-format(PointerAlignment: Left)及 CMakeLists.txt(CMAKE_CXX_STANDARD 17)逐项一致; 3. 中英文两版本表述同步修改,保持语义一致。 补充的UT用例: NA(纯文档修改) ## 文档更新 - AGENTS.md(第 5 节编码规范描述) - AGENTS_en.md(第 5 节编码规范描述) ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标(纯文档修改,不涉及) - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误(纯文档修改,不涉及) - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 ## 关联的Issue #1017 See merge request: cann/hcomm!5889 | 27 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 10 天前 | |
docs(rfcs): 引入 RFC 编号登记机制,规范流程 Co-authored-by: wenxuemin<wenxuemin@huawei.com> # message auto-generated for no-merge-commit merge: !3078 merge feature/rfc-index into master docs(rfcs): 引入 RFC 编号登记机制,规范流程 Created-by: wenxuemin Commit-by: wenxuemin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 引入 RFC 编号登记机制,规范流程 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了docs/zh/rfcs下的文档以及CONTRIBUTING.md文档 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!3078 | 4 个月前 | |
【fix docs】增加英文文档&修复失效超链接 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !3597 merge master into master 【fix docs】增加英文文档&修复失效超链接 Created-by: flyswa Commit-by: zangyan Merged-by: cann-robot Description: ## 描述 1、增加仓库中md文档的英文版本,除去以下目录: docs/zh/api_ref docs/zh/comm_op_dev_guide docs/zh/architecture 2、修正文档中的失效链接 docs/zh/api_ref/comm_opdev/data_plane_api/ccu/execution_control/CCU_DO.md docs/zh/api_ref/comm_opdev/data_plane_api/ccu/execution_control/CCU_WHILE.md ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!3597 | 3 个月前 | |
init code | 10 个月前 | |
[build] OAT Check Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !5123 merge build/pre-commit into master [build] OAT Check Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 更新 OAT 检查脚本,并统一当前代码中 License 格式问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译通过 2. 全量拦截通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5123 | 1 个月前 | |
[modify docs]为一级目录下README添加中英文跳转,统一examples下README中产品型号描述 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !5011 merge master into master [modify docs]为一级目录下README添加中英文跳转,统一examples下README中产品型号描述 Created-by: flyswa Commit-by: zangyan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为一级目录下README添加中英文跳转。 统一examples下README中产品型号描述。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5011 | 2 个月前 | |
[modify docs]为一级目录下README添加中英文跳转,统一examples下README中产品型号描述 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !5011 merge master into master [modify docs]为一级目录下README添加中英文跳转,统一examples下README中产品型号描述 Created-by: flyswa Commit-by: zangyan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为一级目录下README添加中英文跳转。 统一examples下README中产品型号描述。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5011 | 2 个月前 | |
[build] 新增三方件离线下载脚本 download_3rd_party.sh 并升级 cann/cmake 至 master-061 Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !6180 merge build/update into master [build] 新增三方件离线下载脚本 download_3rd_party.sh 并升级 cann/cmake 至 master-061 Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 包含两部分改动,用于完善离线编译支持并同步构建基线。 ### 1. 新增三方件离线下载脚本 download_3rd_party.sh **改动原因**:此前离线编译环境需按文档逐个手动下载三方依赖包再上传,下载地址分散、无完整性校验,且容易版本错配。 **实现方案**(参考 cann/runtime 仓同类实现): - 新增仓库根目录脚本 download_3rd_party.sh,以「URL、SHA256、存放路径」三元组集中维护下载清单(共 15 项,hcomm_utils 按机器架构二选一),覆盖 --pkg/--full 编译与 UT/ST 测试所需的全部三方依赖:cann/cmake master-061、hcomm_utils、json、makeself、openssl、rdma-core、abseil-cpp、boost、googletest、mockcpp、protobuf 及各补丁; - 依赖包存放于用户指定目录(--3rd_party <dir>、--3rd_party=<dir>,默认为仓库根目录/third_party),压缩包平铺存放,所有补丁统一存放于 <dir>/patch/;rdma-core 与 abseil-cpp 补丁额外复制到 patch/device/,供 Device 侧离线构建使用; - 利用 SHA256 校验下载文件完整性:二次调用脚本时,已通过校验的缓存自动跳过、无需重复下载;校验失败的缓存自动重新下载;下载先落临时文件,校验通过后原子替换,并通过 trap 清理临时文件; - hcomm_utils 预编译包按构建机架构(uname -m)区分下载 x86_64/aarch64 对应包,不支持架构直接报错退出; - 针对企业网关重签名证书导致证书校验失败的场景,自动降级重试 --no-check-certificate,文件完整性仍由 SHA256 校验保证; - 适配 cmake/third_party/mockcpp.cmake:补丁查找优先 patch/ 子目录,回退根目录,兼容存量缓存; - 更新 docs/zh/build/build.md、docs/en/build/build.md 离线编译章节为脚本使用说明,附录补充下载列表与 cann/cmake master-061 适配说明; - SECURITY.md、SECURITY_en.md 公网地址声明表仅修正 3 处过时版本路径(makeself v2.5.0-h1、json v3.12.0、rdma-core-patch v42.7-h2),域名保持不变。 ### 2. cann/cmake 构建框架升级 master-057 → master-061 **改动原因**:同步 cann/cmake 最新基线,统一三方件下载源。 **实现方案**:cmake/fetch_cann_cmake.cmake 的 CANN_CMAKE_TAG 由 master-057 升级为 master-061 并同步更新 SHA256;docs/zh/build/build.md、docs/en/build/build.md 附录依赖表中 cann-cmake 版本及各三方件下载地址统一更新为构建实际使用的 OBS 地址。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/1086 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项成功 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6180 | 15 天前 | |
[build] 新增三方件离线下载脚本 download_3rd_party.sh 并升级 cann/cmake 至 master-061 Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !6180 merge build/update into master [build] 新增三方件离线下载脚本 download_3rd_party.sh 并升级 cann/cmake 至 master-061 Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 包含两部分改动,用于完善离线编译支持并同步构建基线。 ### 1. 新增三方件离线下载脚本 download_3rd_party.sh **改动原因**:此前离线编译环境需按文档逐个手动下载三方依赖包再上传,下载地址分散、无完整性校验,且容易版本错配。 **实现方案**(参考 cann/runtime 仓同类实现): - 新增仓库根目录脚本 download_3rd_party.sh,以「URL、SHA256、存放路径」三元组集中维护下载清单(共 15 项,hcomm_utils 按机器架构二选一),覆盖 --pkg/--full 编译与 UT/ST 测试所需的全部三方依赖:cann/cmake master-061、hcomm_utils、json、makeself、openssl、rdma-core、abseil-cpp、boost、googletest、mockcpp、protobuf 及各补丁; - 依赖包存放于用户指定目录(--3rd_party <dir>、--3rd_party=<dir>,默认为仓库根目录/third_party),压缩包平铺存放,所有补丁统一存放于 <dir>/patch/;rdma-core 与 abseil-cpp 补丁额外复制到 patch/device/,供 Device 侧离线构建使用; - 利用 SHA256 校验下载文件完整性:二次调用脚本时,已通过校验的缓存自动跳过、无需重复下载;校验失败的缓存自动重新下载;下载先落临时文件,校验通过后原子替换,并通过 trap 清理临时文件; - hcomm_utils 预编译包按构建机架构(uname -m)区分下载 x86_64/aarch64 对应包,不支持架构直接报错退出; - 针对企业网关重签名证书导致证书校验失败的场景,自动降级重试 --no-check-certificate,文件完整性仍由 SHA256 校验保证; - 适配 cmake/third_party/mockcpp.cmake:补丁查找优先 patch/ 子目录,回退根目录,兼容存量缓存; - 更新 docs/zh/build/build.md、docs/en/build/build.md 离线编译章节为脚本使用说明,附录补充下载列表与 cann/cmake master-061 适配说明; - SECURITY.md、SECURITY_en.md 公网地址声明表仅修正 3 处过时版本路径(makeself v2.5.0-h1、json v3.12.0、rdma-core-patch v42.7-h2),域名保持不变。 ### 2. cann/cmake 构建框架升级 master-057 → master-061 **改动原因**:同步 cann/cmake 最新基线,统一三方件下载源。 **实现方案**:cmake/fetch_cann_cmake.cmake 的 CANN_CMAKE_TAG 由 master-057 升级为 master-061 并同步更新 SHA256;docs/zh/build/build.md、docs/en/build/build.md 附录依赖表中 cann-cmake 版本及各三方件下载地址统一更新为构建实际使用的 OBS 地址。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/1086 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项成功 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6180 | 15 天前 | |
同步 CheckerL2 最新代码到 hccl_vm Co-authored-by: git_qk<quankai3@h-partners.com> # message auto-generated for no-merge-commit merge: !6237 merge master into master 同步 CheckerL2 最新代码到 hccl_vm Created-by: git_qk Commit-by: git_qk Merged-by: cann-robot Description: ## 描述 mariadb组件开源 ## 变更类型 - [x] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 本地编译通过( bash build.sh --pkg) 2. 代码格式化后 clang-format 检查通过 补充的UT用例: 无新增 UT,变更仅涉及测试桩代码格式化和已有逻辑的 no-op 分支保护。 ## 文档更新 无文档更新。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签([fix]) - [x] 📄 代码修改内容已简要描述 - [x] 📝 代码遵循项目整体代码风格(clang-format 已对齐) - [x] 🧪 代码UT测试未变更(仅修改测试桩代码) - [x] 🛠️ 代码已通过 clang-format 检查 - [ ] 👥 代码检视待 committer 进行 See merge request: cann/hcomm!6237 | 10 天前 | |
同步 CheckerL2 最新代码到 hccl_vm Co-authored-by: git_qk<quankai3@h-partners.com> # message auto-generated for no-merge-commit merge: !6237 merge master into master 同步 CheckerL2 最新代码到 hccl_vm Created-by: git_qk Commit-by: git_qk Merged-by: cann-robot Description: ## 描述 mariadb组件开源 ## 变更类型 - [x] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 本地编译通过( bash build.sh --pkg) 2. 代码格式化后 clang-format 检查通过 补充的UT用例: 无新增 UT,变更仅涉及测试桩代码格式化和已有逻辑的 no-op 分支保护。 ## 文档更新 无文档更新。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签([fix]) - [x] 📄 代码修改内容已简要描述 - [x] 📝 代码遵循项目整体代码风格(clang-format 已对齐) - [x] 🧪 代码UT测试未变更(仅修改测试桩代码) - [x] 🛠️ 代码已通过 clang-format 检查 - [ ] 👥 代码检视待 committer 进行 See merge request: cann/hcomm!6237 | 10 天前 | |
cleancode: blacklist.txt补充用途说明 Co-authored-by: niyi01<yini3@h-partners.com> # message auto-generated for no-merge-commit merge: !4817 merge delete-empty-blacklist into master cleancode: blacklist.txt补充用途说明 Created-by: niyi01 Commit-by: niyi01 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4817 | 2 个月前 | |
[refactor] hccp_test 判定链重构:分项 VERDICT、框架自测与退出码传播 Co-authored-by: chenke2026<chenke54@huawei.com> # message auto-generated for no-merge-commit merge: !6263 merge refactor/hccp-verdict-chain into master [refactor] hccp_test 判定链重构:分项 VERDICT、框架自测与退出码传播 Created-by: chenke2026 Commit-by: chenke2026 Merged-by: cann-robot Description: ## 描述 重构 hccp_test runner 判定链,消除四类静默故障面(VERDICT PASS 语义错位 / 0 用例假绿 / 捕获与扫描降级不可见 / build.sh 退出码不传播): 1. 判定逻辑抽为纯逻辑静态库 hccp_verdict(四分量 gtest/stdout-errors/log-errors/case-load 显式 AND → OVERALL 与退出码同源派生,文案与退出码结构上不可不一致); 2. 执行计数改用 gtest 事件监听器(count API 对"选中未执行"用例报假计数);stdout 捕获降级与日志扫描不可信均呈现为 UNKNOWN 并保守判负(例外:日志根缺失=合法空结果——树由首条日志惰性创建,过滤运行可能全程无日志,仅 stderr 诊断不判负);明细单行限长防伪造 VERDICT 行;日志根目录校验跟随符号链接(条目遍历保持 lstat 不跟随),符号链接形式的日志根不再误判为扫描失败; 3. 新增 hccp_verdict_test.bin 框架自测(45 个用例分批补齐(检视修复轮补 verdict 输出选流用例;AI 复审轮补日志根缺失空树、槽位数值分类、单源构造钉格用例),13 项系统调用 --wrap 链接期故障注入覆盖降级分支,行覆盖 98%+,gcov 实测;捕获转发改为有界流式按逻辑行结算并配套自测),并注册进 ctest 车道; 4. build.sh 执行步:|| rc=$? 保留原始退出码并区分超时(124)与失败(业务与自测路径同构),timeout 300s/kill-after 30s 防挂死,LD_LIBRARY_PATH 加引号防分词,hccp_test 构建并发与其他路径一致为 -j ${CPU_NUM};cmake 配置/编译/安装三步同改显式捕获(set -e 下 if [ $? -ne 0 ] 的错误分支不可达),失败日志带 rc 标注; 5. verdict 输出按流恢复结果选路:restoreOutOk/restoreErrOk 记录恢复失败侧,VerdictOutputStream() 选择恢复成功的流输出报告(恢复失败侧 fd 已被关闭,写入即静默丢失;双侧均失败时接受丢失); 6. 顺带变更:AppendLoopbackNic 中以 inet_ntop 替换 inet_ntoa,消除静态缓冲区风险(行为等价,失败回退 "?")。 7. AI 复审轮修复:IsForeignRunDir 数值化槽位比较(runId≠0 时仅同号目录非外来,不可表示编号判外来);日志根缺失改判合法空结果(修无日志过滤运行的假 FAIL);日志根构造单源化为 hccp_shm_infra.h::hccp_st_log_root(runner 扫描侧与 dlog 写入侧共用,删除 byte-identical 注释互锁,写扫双侧漂移结构上不可能)。 ScanLogFiles 接口三态化经评估暂缓(单消费者、无实际缺陷),契约已以注释固化在声明处。 ### 行为变化(三处收紧,均为修正目标本身) 1. gtest 失败 + 日志干净:文案从 PASS (gtest=1) 变为 OVERALL: FAILED(退出码不变,仍为 1); 2. 零执行/全跳过(filter 拼错、--gtest_repeat=0、全 GTEST_SKIP、全 DISABLED_):从假绿 PASS + exit 0 变为显式 FAILED + exit 1;"只构建不跑"场景请使用 --noexec(行为不变); 3. 检查自身失效(捕获/扫描降级):从静默 CLEAN 变为 UNKNOWN + FAILED + exit 1(保守判负)。 兼容性:仓内 CI 门禁链已实证仅断言退出码(hcomm_action.yml → st.sh 仅查 $?),文案变化无仓内消费者。仓外两件待确认事项(OBS 托管 st.sh 副本一致性、cann 级流水线是否 grep VERDICT 文案)合入前关闭,跟踪于 #1124。 ### 设计依据(实验结论) - **gtest 计数 API 不可作执行证据**:本仓 gtest 1.14 的 successful_test_count() 对"选中未执行"(list-only、repeat=0、环境级 GTEST_SKIP)报假计数,探针实验证实 → 改用 OnTestStart/OnTestEnd 监听器计数; - **GNU timeout 语义边界**(coreutils 9.4 实测):TERM 生效 124、忽略 TERM 时 kill-after 强杀 137;被监控进程退出后不替后代补刀 → 后代回收不作承诺(超时场景验证覆盖); - **set -e 下裸 if [ $? -ne 0 ] 不可达**(失败命令立即终止 shell)→ build.sh 改 || rc=$? 形态显式捕获。 ### 替代方案(已评估,不采用) - **最小修正**(仅调整打印顺序,约 5 行):消不掉零执行假绿,单行 verdict 表达不了复合判定; - **退出码位编码**(exit 1/2/4 分类):与既有 $? == 0/1 消费惯例不兼容,分类信息由分项文本行承载更可读; - **verdict 落盘 JSON 双通道**:改动大、需读取方适配,对单二进制自包含 runner 过度设计(将来可演进); - **纳入 ctest 车道**:包装层解决不了 runner 自身文案语义,且与 guard 锁/专用安装树模型冲突(将来纳入的前提是先落本退出码语义)。 ## 变更类型 - [x] 📋 其他,请描述:测试基础设施重构 ## 关联的Issue #1124(本 PR 实现;触发场景 #1123,其看护用例 PR 为 #6262) ## 测试 > 📋 完整 25 场景矩阵、设计依据实验与验证记录见[补充评论](https://gitcode.com/cann/hcomm/pull/6263#note_195749895)。 已完成的测试用例和场景: 1. 分支独立验证:官方入口 bash build.sh --hccp_test 全量绿(自测 41 + master 业务 120,OVERALL PASS,exit 0);与看护用例 PR 组合验证亦绿(41 + 122); 2. 分支验证:gtest 失败(回退 listen-reuse 修复行)→ 分项 FAIL + OVERALL FAILED + exit 1;0 用例(坏 filter)→ NO TEST RAN 拦截;超时(timeout 压 5s)→ "timed out after 5s";坏 case 路径 → case-load FAIL;build.sh 退出码端到端传播(Error 日志 + 非零退出); 3. ctest 车道 ctest -R hccp_verdict 1/1 通过;pre-commit(clang-format 18.1.8 + OAT)通过; 4. 判定链自测深度验证:41 用例分三批补齐(计数边界、跨文件/子目录累计、部分读取失败呈 UNKNOWN、路径超限、非法槽后缀、pthread_join 失败死亡测试等);**定向变异验证** 4 种(忽略路径超限、错误失败数量分母、误过滤非法目录、join 错误返回结果)均被新增测试检出,证明用例非"跑过"而是"拦截得住"; 5. 消毒器:AddressSanitizer + UndefinedBehaviorSanitizer 下自测全量通过; 6. 覆盖率(GCC 13.3.0、C++14、-O0 --coverage,README 命令原样可复现):行覆盖 98.79%(244/247;未命中 3 行为编译器异常清理与预期终止路径,不以 100% 为验收标准);分支边实际命中 73.91%,排除 throw=true 边后 93.70%;函数 29/29; 7. HCCP 专项收尾:bash build.sh --hccp_test -j4 端到端——自测 41/41、业务 ST 122/122(约 49s)、四分量通过、OVERALL PASS、exit 0;与既有基线逐用例 diff,通过集合完全一致; 8. 本地验证边界说明:本地 -s/-u 车道因既有 DEV_TYPE_960 枚举缺失(本地 CANN 版本落后于 master,src/ 与 test/legacy 本 PR 零改动)无法完整构建,相关车道以 CI 为准。 9. 检视意见修复轮复验:verdict 输出选流(VerdictOutputStream 表驱动用例 + CaptureRestoreTest 恢复送达断言)、build.sh 自测退出码区分与 -j ${CPU_NUM} 一致化;bash build.sh --hccp_test 复验全绿(自测 44/44 + 业务 120/120,OVERALL PASS,exit 0),pre-commit(clang-format + OAT)复验通过; 补充的UT用例:hccp_verdict_test.bin 44 个框架自测(见描述) ## 文档更新 无:后续与 hccp_verdict 六段模块文档一并以中英对形式补充(跟踪于关联 Issue #1124) ## 合入检查 - [x] 🧐 已阅读贡献指南并遵守 - [x] 🔍 committer /lgtm 前必要检查 - [x] 🏷️ 标题类型标签 [refactor] - [x] 📄 修改内容已描述,文档已更新 - [x] 📝 注释与代码风格合规 - [x] 🧪 自测 44 例、覆盖率行 98%+(gcov 实测) - [x] 🔬 验证方法已更新到测试部分 - [x] 🛠️ 静态检查无错误 - [ ] 👥 代码检视 - [ ] ✅ 检视意见处置 - [ ] 🚀 前冒烟预约检查(待 committer 流程) - [ ] 🎯 /approve 预约检查(待流程) See merge request: cann/hcomm!6263 | 8 天前 | |
[build] unified encoding, line breaks, and license header format Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4522 merge build/encoding into master [build] unified encoding, line breaks, and license header format Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 文本编码格式统一为 UTF-8 2. 所有文本换行符 CRLF 转为 LF,并在 .gitattributes 添加相应规则 3. OAT 检查涉及额外文件补充 license 头,并在 OAT.xml 更新规则 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译通过 2. 全量拦截项通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4522 | 2 个月前 | |
[build] License Header Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4556 merge build/oat into master [build] License Header Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 全仓C/C++、CMake、Python、Shell文件规范头部License的使用 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项通过 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4556 | 2 个月前 |
HCOMM
简体中文 | English
🔥 Latest News
- [2025/11/30] HCOMM项目开源。
🚀 概述
HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。
HCOMM提供了标准化通信编程接口,具备以下关键特性:
- 支持昇腾设备上的多种通信引擎,充分发挥硬件能力。
- 支持多种通信协议,包括PCIe、HCCS、RDMA等。
- 通信平台与通信算子开发解耦,支持通信算子的独立开发、构建与部署。

HCOMM通信基础库采用分层解耦的设计思路,将通信能力划分为控制面和数据面两部分。
-
控制面:提供拓扑信息查询与通信资源管理功能。
-
数据面:提供本地操作、算子间同步、通信操作等数据搬运和计算功能。
控制面提供通信资源,数据面提供操作资源的方法,所提供的通信编程接口可以让通信算子开发人员聚焦于业务创新,而无需关注芯片底层复杂的实现细节。
🔍 目录结构说明
本项目关键目录如下所示:
├── src # 源码目录
│ ├── base_comm # 基础通信层
│ │ ├── common # 基础通信层公共基础功能目录
│ │ ├── primitives # 基础通信原语
│ │ └── resources # 基础通信资源
│ ├── coll_communicator_mgr # 集合通信域管理
│ │ ├── api_c_adpt # C接口适配
│ │ ├── common # 集合通信层公共基础功能目录
│ │ ├── communicator # 通信域
│ │ ├── config_mgr # 配置管理
│ │ ├── dfx # 维测
│ │ ├── rank_graph # 拓扑管理
│ │ └── resource_mgr # 资源管理
│ └── legacy # 历史版本兼容目录
│ ├── ascend910 # A2&A3兼容代码
│ │ ├── algorithm # 通信算法源码目录
│ │ ├── common # 公共基础功能目录
│ │ ├── framework # 通信框架源码目录
│ │ ├── hccd # 提供进程间点对点通信能力
│ │ ├── platform # 通信平台源码目录
│ │ └── pub_inc # 平台接口头文件
│ └── ascend950 # A5旧流程兼容代码
│ ├── common # 公共基础组件
│ ├── framework # 框架核心实现
│ ├── include # 公共接口头文件
│ ├── interface # 接口适配层
│ ├── local_build # 本地构建工具
│ ├── service # 服务层
│ └── unified_platform # 统一平台层
├── python # Python 包
├── include # 对外头文件
├── pkg_inc # 包间接口头文件
├── experimental # 社区贡献的试验性代码目录
├── test # 测试代码目录
│ ├── ut # 单元测试代码目录
│ └── st # 系统测试代码目录
├── docs # 资料文档目录
├── examples # 样例代码目录
└── build.sh # 编译构建脚本
📝 版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与GitCode标签源码,使用master分支可能存在版本不匹配的风险。
⚡️ 快速开始
若您希望快速构建并体验本项目,请访问如下简易指南。
📖 学习教程
HCCL提供了使用指南、通信算子开发指南、技术文章、培训视频,详细可参见 HCCL 参考资料。 此外,HCCL还提供了QuickStart指南、常见FAQ等wiki,详细可参见 WIKI。