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 | 11 天前 | |
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 | 19 天前 | |
[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 | 7 天前 | |
[fix]codecheck修改、线程复用bug、roceAttr.queueNum非法值检查 Co-authored-by: littlemons<yaowenjie7@huawei.com> # message auto-generated for no-merge-commit merge: !5639 merge master into master [fix]codecheck修改、线程复用bug、roceAttr.queueNum非法值检查 Created-by: littlemons Commit-by: littlemons Merged-by: cann-robot Description: ## 描述 本 PR 为「ThreadMgr 底层归一到 HcommThread 标准 C 接口(句柄化)」特性的检视意见与 codecheck 修复,共 3 个提交(02e4dc95、c0d295ce、541cde49),主要改动: 1. **析构容错增强**:复用池/主流线程改为逐句柄 HcommThreadFree 并留痕句柄号、消除 vector 堆分配 2. **消除 C 风格强转**:HcclThreadResGetInfo / HcommThreadResGetInfo 调用处将 C 风格强转 (void**)&stream 替换为 reinterpret_cast<void**>(&stream)(thread_manager.cc、thread_c_adpt.cc),消除 codecheck 告警。ThreadResTypeStream 即 aclrtStream(void*),该转换为同类型转换,无严格别名问题。 3. **代码风格与静态检查修复**:HcclThreadResGetInfo 等不修改成员变量的函数增加 const 修饰;清理未使用头文件;日志与注释规范化;修正 RollbackThread 处误导性注释(HcommThreadFree 不会回调本类接口,释放放锁外的真实动机是缩小锁窗口)。 4. **roceAttr.queueNum 非法值拦截**:CheckRoceAttr 新增 queueNum 取值范围 [1,32] 校验(未设置时兜底为 1 的逻辑不变),显式传入 0 或 >32 时返回 HCOMM_E_PARA,与文档规格对齐(属行为变更:拒绝此前被放行的非法入参);返回码统一为 HCOMM_E_PARA 枚举体系,上界常量补充与 host 多QP配置、legacy 环境变量配置同源同值(32)的同步注释。 5. **线程复用通知容量缓存修复**:ThreadMeta.notifyNum 是该线程底层已分配 Notify 容量的镜像,SupplementNotify 却将其当“本次需求值”无条件覆盖——需求减小时(如 8→4)底层资源不释放、缓存却同步回退,L1 缓存与 base_comm 实际状态脱钩;需求恢复时(4→8)按失真缓存误算差量(8−4=4)重复增配,底层漂移至 12。改为 max 语义(缓存记录已分配容量,依赖底层 Notify 只增不减的不变量),并新增往返场景回归 UT。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [x] 📋 其他,请描述:代码检视意见修复与静态检查(codecheck)问题修复 ## 关联的Issue - https://gitcode.com/cann/hcomm/issues/1060 (线程复用时通知容量缓存被无条件覆盖,需求恢复时重复分配资源) - 其余改动为检视意见与 codecheck 修复,NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --ut:TestHcclThreadAcquireWithConfig(引擎拦截与 WithConfig 契约)、ut_thread_manager(ThreadMgr 归一 UT:ExportToCommEngine / ResetThreadLocalNotifies / DedicatedThreadAcquire / AcquireV2)、test_thread_api、independent_op 相关套件(结果:通过) 2. bash build.sh --pkg:编译通过、无告警(结果:通过) 补充的UT用例: 1. Ut_HcclThreadAcquireV2_When_NotifyNumRoundTrip_Expect_NoRepeatSupplement(ut_thread_manager.cc):模拟 8→4→8 通知需求往返场景。修复前轨迹:需求 4 时差量为 0、底层 Notify 保持 8,缓存被覆盖为 4 与底层脱钩;需求恢复 8 时按失真缓存误算差量 4,底层漂移至 12。修复后:缓存保持 8(max 语义),第三轮差量为 0。spy 桩断言全程 HcommThreadSupplementNotify 实际补充总量为 0、句柄正确复用,看护 issue 1060 修复 2. queueNum 校验用例(ut_hcomm_c_adpt.cc,循 CheckRoceAttr 队列深度专节样式):When_QueueNumInvalid(queueNum=0/33 → HCOMM_E_PARA)、When_QueueNumBoundary(queueNum=1/32 → 成功)、When_QueueNumInvalidUint(queueNum=0xFFFFFFFF 兜底为 1 → 成功且出参已改写) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - HcclChannelDesc.md / HcommChannelDesc.md(中英文共4份):queueNum 字段描述更新为"取值范围:[1,32],建议配置范围:[1,8];未配置(0xFFFFFFFF)时默认为1",与 CheckRoceAttr 拦截规格及默认值兜底实现对齐 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!5639 | 5 天前 | |
【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 个月前 | |
[fix] 修正单引号内反斜杠的命令分隔解析 Co-authored-by: hanggongmao<hanggongmao1@huawei.com> # message auto-generated for no-merge-commit merge: !5925 merge fix/dispatcher-single-quoted-backslash into master [fix] 修正单引号内反斜杠的命令分隔解析 Created-by: hanggongmao1 Commit-by: hanggongmao Merged-by: cann-robot Description: ## 描述 调度器的 split_ignoring_quotes 将单引号内的字面反斜杠误当作转义,导致结束单引号和后续连接符无法识别。例如 printf '%s' 'foo\'; sudo id 被视为一个完整片段,后续 sudo / su 命令的认证选项转换失效。 仅在单引号之外启用反斜杠转义。当前 PR 相对目标基线只修改 experimental/cluster_link_diag/dispatcher/json_info.py 的一行条件;按沟通移除新增的 tests/test_json_info.py 及两份测试 README 中的对应入口。原始回归脚本和日志保留在仓外,生产修复未变。 ## 变更类型 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue Fixes #1022 https://gitcode.com/cann/hcomm/issues/1022 ## 测试 2026-10-16 对当前 HEAD e058ee424c98913f5c1e1951f8ee35e7faa4a6e3 完成仓外 CPU 回归:Python 3.9.6、仓库固定的 Paramiko 5.0.0,原始 7 个测试方法全部通过、无跳过,测试断言未改动。显式设置生产代码路径,并核实实际导入的是本 PR 工作树中的 dispatcher/json_info.py,未使用替代实现。 覆盖单引号内字面反斜杠后的 ;、|、||、&、&& 五种连接符、sudo / su 转换、引号内分隔符、引号外转义、双引号转义、重定向与不加载配置,并使用标准库 shlex 交叉核对示例。测试仅处理字符串,未执行 SSH、sudo、su 或设备操作。 生产文件 SHA256:6dd5feb3084394a54edfec26d4fe25bcfdc34f186fef14c39cc528a4ff99c14c,与删除测试前一致。原始测试脚本 SHA256:ee04ee62cbd25a89a30f7990704e696a300ff99ed9088cb84193ecf6da8a2f21。 本地 pre-commit 4.3.0 正常运行,使用仓库固定的 hook 配置;手动检查时 OAT 实际扫描当前生产 Python 文件并通过,提交钩子也正常执行。clang-format 对本次 Python / Markdown 文件不适用,报告无适用文件。整个 PR 的 git diff --check 通过。 未在本地执行完整 CANN 软件包构建、全量 UT / ST 或 NPU 测试。历史 run #7951 在主干既有 UT 用例失败;同一问题的后续修复 [#6082](https://gitcode.com/cann/hcomm/pull/6082) 已于 2026-10-16 20:11 合入,最终流水线全部通过。2026-10-17 已为当前 HEAD 重新触发 [run #7995](https://gitcode.com/cann/hcomm/actions/runs/f82220ae50d64887af67da208464d7b4),实际 Checkout 为 495d39c565a00e98d58c0a39a3d09278b3250598;其父提交为修复后 master a4069177f09618c64970cf2c9512bdbfedae304e 与本 PR HEAD,目标 UT 文件与修复后主干完全一致。本轮 CI 已完成,用时 9 分 13 秒,21 个任务全部通过,包括四个平台编译、UT、ST、A2 / A3 冒烟、SCA、pre-commit 及其余代码门禁;PR 已标记 ci-pipeline-passed。以上完整构建、UT / ST 与 NPU 冒烟结果来自社区 CI,本地执行范围仍为上述 CPU 回归及提交检查。 ## 文档更新 撤回已移除测试脚本的中英文执行入口。两份 README 与原目标基线内容一致,最终 PR 相对目标基线无文档改动。 ## 合入检查 - [x] 已阅读贡献指南,关联 issue #1022,保留聚焦的既有工具缺陷修复。 - [x] 按沟通移除仓内新增测试,原始 7 项仓外回归通过。 - [x] pre-commit / OAT 和差异检查通过。 - [x] 当前 HEAD e058ee424c98913f5c1e1951f8ee35e7faa4a6e3 的社区 CI 全部门禁通过(修复后主干的 [run #7995](https://gitcode.com/cann/hcomm/actions/runs/f82220ae50d64887af67da208464d7b4),21 / 21 任务通过)。 - [ ] 社区 committer 检视、/lgtm、/approve 及最终合入。 See merge request: cann/hcomm!5925 | 10 天前 | |
[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] HcommChannelCreate支持AIV+UB_MEM Co-authored-by: ganglei123<zhaoganglei@huawei.com> Co-authored-by: rockethcgs<luobinyan1@huawei.com> # message auto-generated for no-merge-commit merge: !5391 merge master into master [feat] HcommChannelCreate支持AIV+UB_MEM Created-by: rockethcgs Commit-by: rockethcgs;ganglei123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> HcommChannelCreate当前对于AIV+UB_MEM场景需要调用方通过HcommChannelDesc.socket字段传入预创建的socket句柄,如果未创建则会导致Channel初始化失败或行为异常。 本PR为AivUbMemChannel实现了StartListen()和BuildSocket()方法,在AIV+UB_MEM场景下无需传入预创建的socket句柄,内部会自行创建socket和启动监听;在AivUbMemChannel析构时销毁对应socket。UbMem endpoint 的 StartListen/StopListen 由 no-op 改为真实监听。 同时,将HcommChannelGetRemoteMems接口移动到对外头文件中,并补充文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. UT测试 2. HLT构造用例测试 补充的UT用例:见文件修改 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了HcommChannelCreate.md和HcommChannelGetRemoteMems.md ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5391 | 7 天前 | |
[fix] Complete CCU pod contract follow-up rectifications Co-authored-by: zhao_lulu<zhaojiamin13@huawei.com> # message auto-generated for no-merge-commit merge: !6031 merge podv2 into master [fix] Complete CCU pod contract follow-up rectifications Created-by: zhao_lulu Commit-by: zhao_lulu Merged-by: cann-robot Description: ## 描述 按照 issue 1027 的整改范围,对 hcomm 数控分离 pod 契约 v2 相关提交做集中整改,覆盖 DFX、接口文档、文件命名和超大函数几项: - 数据结构更新: pkg_inc/hcomm/ccu/hcomm_res_ccu_entity_defs.h中的channelentity和instanceentity按照最新的方案进行更新。 - DFX: HcommCcuAllocInstSpace 参数非法、空间分配失败路径补充设备、die、请求规模与返回码日志;CcuUrmaChannel、ChannelProcess、Instance 快照构建等失败路径补充 warning 和关键上下文。 - doc2gen:hcomm_res_ccu_entity.h 中的 Channel 实体查询、指令下发、指令空间申请接口补全功能、参数语义、生命周期/借用约定、返回码、错误条件、并发约束与调用示例。 - 文件命名:hcomm_res_ccu.cc/.h 改名为 hcomm_res_ccu_entity.cc/.h,CMake 与 include 同步更新。 - 超大函数:拆分 BuildHcommCcuChannelEntity、BuildHcommCcuInstanceEntity 等快照装配函数,按状态校验、资源数量校验、字段填充、资源 ID 填充、远端 buffer 装配等职责拆 helper,保持原行为不变。 本 PR 只整改本次 pod 修改引入或调整的链路;CcuTransport::StatusMachine() 属于存量实现,不在 issue 1027 范围内,未做修改。 ## 变更类型 请选择本次引入的变更类型: - [x] 🐛 Bug修复 - [x] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:按 issue 1027 完成 DFX、doc2gen、命名与超大函数整改 ## 关联的Issue https://gitcode.com/cann/hcomm/issues/1027 ## 测试 已完成的测试用例和场景: 1. 本地 hccl_llt 编译通过。 2. 对本提交涉及的 12 个 C/C++ 文件执行 clang-format --dry-run --Werror,全部通过。 3. git diff --check 通过。 补充的UT用例: - ut_HcommCcuInstanceSnapshot_test.cc:实例实体构建、缓存复用、die 资源视图等场景。 - ut_ccu_urma_channel.cc:Channel 实体正常构建、非 READY、资源数量越界、CCU 版本查询失败等场景。 - ut_channel_process_test.cc:Channel 实体查询入口空出参、错误码透传等场景。 ## 文档更新 无单独文档文件更新;对外接口文档通过 doc2gen 注释生成,已在 hcomm_res_ccu_entity.h 中补全。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!6031 | 8 天前 | |
[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 | 3 天前 | |
fix: propagate symmetric memory stride config for A5 UB memory Co-authored-by: z00940303<zhangzhuopan@huawei.com> # message auto-generated for no-merge-commit merge: !6188 merge master into master fix: propagate symmetric memory stride config for A5 UB memory Created-by: zhangzhuopan Commit-by: z00940303 Merged-by: cann-robot Description: ## 描述 修复 A5 UB Memory 对称内存 stride 配置未透传的问题。 原实现未将用户配置的 hcclSymWinMaxMemSizePerRank 写入 CollComm,导致 UB Memory 使用默认 16 GiB 的 stride,注册超过该容量的内存时出现 no free VA block 错误。 本次在 ApplyHcclCommConfig 中直接透传该字段,并为 CommConfig 补充赋值方法,使 UB 对称 VA 初始化使用用户配置的大小。保留 UB 初始化阶段已有的零值、溢出、容量及对齐校验。 本次属于存量配置传播缺陷修复:对应配置字段、内部成员、默认值及 getter 均已存在,仅补齐 A5 配置赋值路径,未新增对外 API 或配置项。 影响范围如下: - **A5 UB Memory**:使用透传后的 stride 预留对称 VA。 - **A5 URMA**:仍以 stride=0 构造,不使用该配置预留对称 VA,行为不变。 - **A3 HCCS(910_93)**:读取独立的 HcclCommunicator::commConfig_,沿用原有配置加载路径,行为不变。 ## 文档更新 <!--如果这个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!6188 | 3 天前 | |
fix: propagate symmetric memory stride config for A5 UB memory Co-authored-by: z00940303<zhangzhuopan@huawei.com> # message auto-generated for no-merge-commit merge: !6188 merge master into master fix: propagate symmetric memory stride config for A5 UB memory Created-by: zhangzhuopan Commit-by: z00940303 Merged-by: cann-robot Description: ## 描述 修复 A5 UB Memory 对称内存 stride 配置未透传的问题。 原实现未将用户配置的 hcclSymWinMaxMemSizePerRank 写入 CollComm,导致 UB Memory 使用默认 16 GiB 的 stride,注册超过该容量的内存时出现 no free VA block 错误。 本次在 ApplyHcclCommConfig 中直接透传该字段,并为 CommConfig 补充赋值方法,使 UB 对称 VA 初始化使用用户配置的大小。保留 UB 初始化阶段已有的零值、溢出、容量及对齐校验。 本次属于存量配置传播缺陷修复:对应配置字段、内部成员、默认值及 getter 均已存在,仅补齐 A5 配置赋值路径,未新增对外 API 或配置项。 影响范围如下: - **A5 UB Memory**:使用透传后的 stride 预留对称 VA。 - **A5 URMA**:仍以 stride=0 构造,不使用该配置预留对称 VA,行为不变。 - **A3 HCCS(910_93)**:读取独立的 HcclCommunicator::commConfig_,沿用原有配置加载路径,行为不变。 ## 文档更新 <!--如果这个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!6188 | 3 天前 | |
[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 | 3 天前 | |
[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] 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] 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 | 20 天前 | |
[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 | 20 天前 | |
[feat] hcomm与asc-comm解耦,提供数据面需要的HcommCcuInstanceEntity Co-authored-by: zhao_lulu<zhaojiamin13@huawei.com> # message auto-generated for no-merge-commit merge: !5313 merge pod into master [feat] hcomm与asc-comm解耦,提供数据面需要的HcommCcuInstanceEntity Created-by: zhao_lulu Commit-by: zhao_lulu Merged-by: cann-robot Description: ## 描述 本 PR 为 hcomm 与 asc-comm 之间的 CCU 数据面协作新增跨 SO 资源实体快照能力,并复用现有 CCU 实例查询入口,避免新增对外 API。 主要改动如下: - 新增 pkg_inc/hcomm/ccu/hcomm_res_ccu_entity_defs.h,定义 HcommCcuInstanceEntity、HcommCcuChannelEntity、按 die 组织的资源 range 视图,以及 Channel 查询、指令空间申请/归还、指令下发等回调原型;POD 均带 ABI version/magic/size 校验。 - 在 HcclCommQueryCcuIns 与 HcclCommQueryAssignedCcuIns 中兼容两种输入:普通 token 仍返回原 CcuInsHandle;当入参为 8 字节对齐且超过 32 位 token 范围的地址时,按“完整实体查询请求”处理,构建并返回稳定存储的 HcommCcuInstanceEntity 地址,对外函数签名保持不变。 - CcuInstanceMgr 新增实体查询能力:校验 ABI 头与 ccuInsKey 后,从当前设备实例表查找实例,并在锁内构建快照。快照包含设备 CCU 版本、启用 die 的元数据、各资源类型 range 视图,以及 hcomm 提供的控制操作槽位。 - CcuInstance 持有快照缓存及其依赖的 range/metadata 存储,失败初始化可重试,成功后复用快照指针;资源 range 由内部 CcuResRepository 拷贝到 hcomm 持有存储,避免直接暴露内部容器。 - 新增 CCU 指令空间回调:按设备与 die 申请/归还连续指令空间,host 指令经设备暂存内存下发到 CCU;对参数、die 范围、指令字节数进行校验,并在 C ABI 边界处理异常。 - 新增 CCU Channel 实体查询链路: - HcommCcuGetChannelEntity 透传到 ChannelProcess::CcuChannelGetEntity; - 通过设备与 channel 句柄映射在锁内查找通道,非 CCU 通道返回 HCCL_E_NOT_SUPPORT; - CcuUrmaChannel::BuildSnapshotEntity 在状态锁内校验 READY 后填充 engine/protocol、设备与 die、CCU 版本、channel id、本端/远端 XN 与 CKE id、对端 CCU 资源空间和远端 buffer; - 远端 buffer 数组写入线程本地存储,同线程下一次查询前保持可拷贝,避免借用数组随本次出参生命周期失效。 - 扩展 CcuConnection 的握手序列化内容,携带对端 CCU 资源空间 size,供 Channel 快照完整描述对端资源空间。 - 对 CcuUrmaChannel 的状态查询、资源更新和清理增加同一状态锁保护,避免实体查询与 UpdateMemInfo/Clean 并发修改 transport 与资源状态。 - 更新安装清单与 CMake 安装列表,将新增 CCU 实体定义头文件发布到 pkg_inc/hcomm/ccu。 - 补充实例快照、实例查询入口、Channel 实体查询链路的 UT,覆盖正常路径、ABI/参数校验、实例不存在、失败可重试、非 CCU 通道、通道未就绪、资源数超容量、以及同线程重复查询复用 TLS buffer 地址等场景。 ## 变更类型 - [x] ✨ 新特性 - [ ] 🐛 Bug修复 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA(配套 asc-comm 仓 pod 分支适配需求:asc-comm 数据面按本契约头消费 CCU 资源) ## 测试 - 新增 ut_HcommCcuInstanceSnapshot_test.cc,覆盖实例快照构建与复用、失败后重试、非法 ABI 头、实例不存在、实例销毁后查询、跨设备 key 查询。 - 扩展 ut_coll_comm_ccu_c_adpt.cc,覆盖 HcclCommQueryCcuIns 与 HcclCommQueryAssignedCcuIns 的完整实体查询模式、稳定实体地址返回,以及不触发重复创建。 - 扩展 ut_ccu_urma_channel.cc,覆盖 Channel 快照正常装配、未就绪、CCU 版本查询失败、资源数超过容量。 - 扩展 ut_channel_process_test.cc,覆盖 CcuChannelGetEntity 空出参、非 CCU 通道、通道未就绪、正常链路及同线程两次查询复用 TLS buffer。 - 本地已针对 Instance 与 Channel 快照相关 UT 做过滤验证;全量 UT 依赖 CI 环境,以门禁结果为准。 ## 文档更新 NA ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5313 | 16 天前 | |
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 | 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 | 1 个月前 | |
[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 | 7 天前 | |
[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 | 7 天前 | |
同步 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 | 3 天前 | |
同步 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 | 3 天前 | |
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 个月前 | |
[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 | 3 天前 | |
[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。