HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。
| Files | Last commit | Last update |
|---|---|---|
[feat]新增仓内AI贡献流程skill(.agents/skills/hcomm-contribute) Co-authored-by: yanzhenghang<625612333@qq.com> # message auto-generated for no-merge-commit merge: !4945 merge feat/agents-contribute-skill into master [feat]新增仓内AI贡献流程skill(.agents/skills/hcomm-contribute) Created-by: yanzhenghang Commit-by: yanzhenghang Merged-by: cann-robot Description: ## 描述 为贡献者(AI Agent 或人工)提供仓内标准的贡献流程工作流。关联需求见 Issue #807。 新增 .agents/skills/hcomm-contribute/(贡献流程 skill,与已合入的 hcomm-review 检视 skill 配对): | 文件 | 内容 | |------|------| | SKILL.md | 贡献流程八步(代码获取与更新→依赖环境确认→本地构建与测试→Issue 查重创建→PR 创建提交并自动触发 CI→CI 监控→CI 失败修复→检视意见处置)+ 清理;每个子流程可独立运行;首次配置引导与执行纪律 | | references/README.md | 参考文档索引(按场景加载) | | references/gitcode-api.md | GitCode API 端点、认证、PR/Issue 创建语义、CI 标签流转与 saw_running 终态判定、错误码与已验证行为规律 | | references/ci-triage.md | CI 失败诊断:常见失败模式表、codecheck G.* 规则与修复模式清单、已知非阻塞判定 | | scripts/contribute.py | 贡献辅助脚本(Python 3.7+ 纯标准库):环境校验 / 仓库同步(clone、fetch、脏工作区自动 worktree 隔离)/ Issue 查重与创建(标题关键词匹配,已有复用)/ PR 提交(git 身份校验 + push fork + 创建或复用 PR + 自动评论 /compile + GET 回查)/ CI 状态轮询(saw_running 状态机防旧标签误判)/ CI 失败日志获取(OBS 直链免登录)/ 未处理检视意见列表 / worktree 与临时文件清理 | | scripts/test_contribute.py | 单元测试(55 用例,mock git 仓 + mock API,无网络依赖) | | .agents/README.md | 仓内两个 AI skill(contribute/review)的简介与使用指引 | 另:根 AGENTS.md 末尾新增一行——贡献链路操作使用本 skill,本地构建与测试命令以 AGENTS.md 第 4 节与 build.md 为准。 **设计原则**:SKILL.md 只固化通用工作流;构建命令、依赖版本、编码规范不复制进 skill,从仓内 AGENTS.md 与 docs/zh/build/build.md 动态获取(规范演进自动跟随,无双源漂移)。与 hcomm-review skill 分工互补:review 管检视,contribute 管贡献链路;检视意见修复后的线程回复复用 review skill 的 --dispose。 ## 变更类型 - [x] ✨ 新特性 ## 关联的Issue #807 ## 测试 已完成的测试用例和场景: 1. 单元测试 54 用例双平台全绿:Windows(Python 3.14)与 WSL Ubuntu(Python 3.10),运行方式 python3 -m unittest test_contribute,无网络依赖(mock git 仓 + mock API,覆盖仓库同步三态、Issue 查重命中/未命中、PR 创建/422 复用、CI 状态机含 stale 标签防误判、检视意见列表、翻页防护、环境校验) 2. 真实只读验证:--check-env(token/remote/身份全通过)、--ci-status(真实 PR 标签与 GitCode 页面一致)、--list-review-comments(真实 PR 14 条未处理检视意见正确识别,含文件路径与行号) 3. **本 PR 自身作为 dogfooding 实测**:Issue #807 由本 skill --issue-ensure 创建(自动查重无重复 + 自动加【需求】前缀);重复运行验证查重复用生效;本 PR 由本 skill --submit-pr 提交(push fork + PR 创建 + 自动 /compile 触发 + GET 回查全链路) 4. 检视意见修复轮(skill 深度自检 10/11 条实证意见全部修复:sync 二次运行/本地提交保护/v5 单条接口补路径/fork 绑定 token 账号/stale 退出/issue 自动关联/force-with-lease 设防等),测试增至 54 用例 5. 按需配置改进:纯 clone 用户(不提交 PR)免 token(check-env 降 WARN);AGENTS.md 索引移入贡献流程章节;ci-triage 扩充 C++ 场景失败模式 6. 环境坑指引轮:Step 2/3 补充实测环境坑(UT 的 aicpu 前置须 --pkg --full 并安装 CANN、rootinfo 残留排查、WSL source 姿势、CANN 符号落后判别),ci-triage 新增「环境坑」节;本地构建/UT/ST 在 x86 环境实测 100% 通过(60/60、12/12),全部失败模式均有 master 基线对照排除 6. 一轮 CI codecheck 失败(8 条告警:G.ERR.09 父子异常同捕 / G.CLS.06 方法排列 ×4 / G.FMT.03 空行 ×3)已全部修复,修复模式同步沉淀进 references/ci-triage.md;修复后单测双平台回归全绿 5. CI ci-pipeline-passed 补充的UT用例: scripts/test_contribute.py(54 用例:URL 归一化 / remote 探测 / 布局探测 / sync-repo 三态 / Issue 关键词与查重 / submit-pr 全链路与 422 复用与拒绝条件 / CI 状态机 7 态 / 流水线链接解析 / OBS 日志下载与 404 容忍 / 检视意见列表与过滤 / cleanup / token 优先级 / 翻页防护 5 例) ## 文档更新 本 PR 即文档与工具新增;另修改根 AGENTS.md 新增一行贡献流程 skill 索引。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md) - [x] 🏷️ 标题中使用了合适的类型标签([feat]) - [x] 📄 代码修改内容已简要描述 - [x] 🛠️ 纯新增 .agents/ 下文档与 python 脚本 + AGENTS.md 一行索引,不触碰 src/include/pkg_inc,无 C++ 代码变更 See merge request: cann/hcomm!4945 | 2 months ago | |
fix(ci): 增加-j参数 Co-authored-by: tanghaoran7<tanghaoran7@huawei.com> # message auto-generated for no-merge-commit merge: !5063 merge master into master fix(ci): 增加-j参数 Created-by: tanghaoran7 Commit-by: tanghaoran7 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!5063 | 2 months ago | |
hcomm安装权限规范统一 Co-authored-by: q00889097<qinhan10@huawei.com> # message auto-generated for no-merge-commit merge: !4955 merge master into master hcomm安装权限规范统一 Created-by: qinhan123 Commit-by: q00889097 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 统一hcomm安装文件及目录权限,这些权限统一由cmake控制,删除安装脚本的修改权限操作 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 根据改动后的权限出包安装验证,是否符合预期:所有目录均为750,可执行程序为750,python/shell脚本为750, share/info/包名/script目录下安装卸载脚本等统一为740,其他文件为640,符号链接为777 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4955 | 1 month ago | |
docs: update URMA symmetric memory allocation examples Co-authored-by: z00940303<zhangzhuopan@huawei.com> # message auto-generated for no-merge-commit merge: !5323 merge master into master docs: update URMA symmetric memory allocation examples Created-by: zhangzhuopan Commit-by: z00940303 Merged-by: cann-robot Description: ## 描述 更新 Ascend 950PR/Ascend 950DT URMA 场景下的对称内存使用文档,使文档与当前实际调用方式保持一致。 主要改动如下: 1. 将 HcclCommSymWinRegister 和 HcclCommSymWinGet 的 URMA 示例中申请、释放 Device 内存的接口由 aclrtMalloc/aclrtFree 修改为 HcommMemAlloc/HcommMemFree。 2. 将 HcommMemAlloc 和 HcommMemFree 对 Ascend 950PR/Ascend 950DT 的产品支持状态修改为“支持”。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 执行 git diff --check,检查通过,无空白字符及格式问题。 2. 全文检索对称内存注册示例,确认 Ascend 950PR/Ascend 950DT URMA 场景均已改用 HcommMemAlloc/HcommMemFree,A3 HCCS 场景使用的物理内存申请与释放流程保持不变。 3. 本次仅修改文档,不涉及代码功能测试。 补充的UT用例: NA ## 文档更新 <!--如果这个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!5323 | 1 month ago | |
[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 months ago | |
【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Co-authored-by: zjw22<zhujiawei29@huawei.com> # message auto-generated for no-merge-commit merge: !4916 merge 930 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Created-by: zjw22 Commit-by: zjw22 Merged-by: cann-robot Description: ## 描述 本 PR 完成 base_comm(L3)对 coll_communicator_mgr(L2)的编译期反向依赖消减 主要改动: 1. **头文件下沉**:将 base_comm 引用的上层头文件逐个消减/下沉至 base_comm 或 pkg_inc,包括 hccl_comm_pub.h、hcom_common.h、hcclCommDfx.h、dfx_profiling_handler(_lite).h、coll_comm_aicpu_kernel_adpt.h、aicpu_init_param.h、comm_mems.h、notify_manager.h、hccl_independent_common.h、hcclCommOp.h 等; 2. **dfx 代码归位**:将 profiling/taskException 相关实现迁入 src/base_comm/dfx/(dfx_profiling_handler.cc、dfx_profiling_handler_lite.cc、dfx_dlprof_function.cc、hcclCommOp.cc、channel_profiling_adpt.cc 等),device 侧代码归入 device 编译目标;通过 std::function 回调注册 + DfxDlProfFunction(dlopen)桥接替代对上层头文件的直接依赖; 3. **构建收口**:删除 hcomm_base_obj.cmake 中全部 16 个 coll_communicator_mgr include 目录,base_comm 编译期不再可见上层头文件; 4. **配套修复**:修复消减过程中暴露的编译问题、UT/ST 失败及 pre-commit 问题;新增 opbase_adpt 收敛 hcom_common.h 中的线程设备 ID 声明。 变更后经全仓检查,src/base_comm 下无任何对 coll_communicator_mgr 的 #include 与符号引用,分层依赖方向(L2→L3)成立。 ## 变更类型 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:分层架构整改(base_comm 反向依赖消减,代码迁移与构建收口) ## 关联的Issue NA <!-- 若有拆解的消减任务 Issue 请替换 --> ## 测试 已完成的测试用例和场景: 1. bash build.sh --pkg --full 全量编译通过(host + device),无编译错误/告警; 2. bash build.sh -u UT 全量通过(含修复的 ut/st 用例); 3. bash build.sh -s ST 二级冒烟通过; 4. HCCL_TEST用例样子通过 5. HIXL Benchmark 单机双机用例通过 6. HCCL 图模式用例通过 7. checker用例 7.1 CCU_SCHED  7.2 AI_CPU  7.3 AIV  补充的UT用例: - opbase_adpt 适配层(新增 test/ut/base_comm/common/,target hccl_ut_base_comm_common):HcclGetThreadDeviceId 覆盖缓存命中、首次调用成功、hrtGetDevice 失败、GetMaxDevNum 失败、设备数超限返回 INVALID_INT 共 5 条路径;HcclDeviceRefresh 覆盖成功(出参刷新+thread_local 缓存更新)/失败透传错误码 2 条路径;依赖 hrtGetDevice/hccl::GetMaxDevNum/hrtGetDeviceRefresh 均走 mockcpp 打桩; - channel_profiling_adpt 注册/回调机制(test/ut/dfx/ut_channel_profiling_adpt.cc,并入 target hccl_utest_dfx):未注册时 GetChannelRemoteRankIdFuncImpl 返回 nullptr、注册后返回注册函数指针、注册后回调可正常调用(覆盖检视意见要求的注册前/注册后场景)、双线程并发注册+读取冒烟(验证 g_getChannelRemoteRankIdFunc 原子化改造无数据竞争); ## 文档更新 无 <!-- 若 dfx 目录迁移影响架构文档,同步更新 docs/zh/architecture/architecture-brief.md --> ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) <!-- 建议标题:[refactor] base_comm 依赖 coll_communicator_mgr 消减 --> - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4916 | 1 month ago | |
[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 month ago | |
[feat] A5 平台 UB 支持 Jetty 队列深度(SCQ)可配置 Co-authored-by: liusr1008<liusiran4@h-partners.com> # message auto-generated for no-merge-commit merge: !5133 merge ub_queue_depth_dev into master [feat] A5 平台 UB 支持 Jetty 队列深度(SCQ)可配置 Created-by: liusr1008 Commit-by: liusr1008 Merged-by: cann-robot Description: ## 描述 A5 平台 UB 支持 Jetty 队列深度(SCQ)可配置:在 HcommChannelDesc.ubAttr 中新增 scqDepth 字段,允许调用方自定义 UB SCQ 队列深度;当 scqDepth 为有效值时(非 0 且非 0xFFFFFFFF),JFC 以**独占模式**创建(HrtRaUbCreateJfc 传入自定义 cqDepth),不与其他 Channel 共享,并在连接释放时由连接自行销毁。 具体改动: - **对外接口**(include/hcomm_channel.h):ubAttr 新增 scqDepth,语义为"UB SCQ 队列深度,0 和 0xffffffff 表示使用默认值;有效值时 JFC 以独占模式创建";HCOMM_CHANNEL_VERSION 由 4 递增至 5(union 内字段新增,遵循 ABI v4 先例) - **规格校验**(src/base_comm/common/orion_adpt_utils.cc/h):新增 CheckUbScqDepth,校验范围 host(NORMAL 模式)[64, 32768]、AICPU(STARS_POLL 模式)[64, 16384]、AIV(USER_CTL 模式,复用 NORMAL 上限)[64, 32768];UbConnBuildContext 透传 scqDepth - **各 Channel 透传**:HostCpuUrmaChannel、AicpuTsUrmaChannel、AicpuTsUboeChannel、AicpuTsUbRtpChannel、AivUrmaChannel 的 BuildConnection 增加 CheckUbSqDepth/CheckUbScqDepth 校验并将 sqDepth/scqDepth 传入连接构造;其中 UBOE/RTP channel 同时修复了 engine 从 COMM_ENGINE_RESERVED 改为 COMM_ENGINE_AICPU_TS、以及 sqDepth/scqDepth 透传缺失的问题(此前使用默认参数,用户配置不生效) - **Init 调用顺序调整**(host_cpu_urma_channel.cc):将 BuildConnection() 从 DlUrmaFunctionInit()/HccpRaGetDevBaseAttr() 之前移到之后,确保 CheckUbSqDepth(ctx, devBaseAttr_) 执行时 devBaseAttr_ 已由 HccpRaGetDevBaseAttr 填充 - **连接层**(host_ub_connection.cc、dev_ub_connection.cc):构造参数新增 inSqDepth/inScqDepth;指定 scqDepth 时调用 HrtRaUbCreateJfc(..., scqDepth) 创建独占 JFC(isExclusiveJfc),否则沿用 RdmaHandleManager::GetJfcHandle 共享路径;sqDepth 未指定时保持原有默认(OPBASE=8192 / OFFLOAD=128);释放路径中独占 JFC(或 AIV 引擎 JFC)由连接调用 HrtRaUbDestroyJfc 销毁,共享 JFC 仍由 RdmaHandleManager 统一管理;共享 jetty(EXTERNAL_INJECT)模式下 sqDepth/scqDepth 不生效(深度由 SetSharedJettyFields 的 sDepth 统一决定),AIV 共享 jetty 路径已加告警日志提示 - **adapter_hccp 层**:HrtRaUbCreateJfc 新增 cqDepth 参数(默认 0),大于 0 时使用自定义 CQ 深度,否则按模式默认(CCU_POLL=64,其余=2M/64) ## 变更类型 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 新增 ST 用例 test/legacy/st/otherFiles/unified_platform/st_ub_queue_depth_config.cc(497 行):覆盖 Host/AICPU 各连接类型(TP/CTP/UBOE/RTP)指定 scqDepth 创建独占 JFC、未指定使用共享 JFC、独占 JFC 析构释放、共享 JFC 不释放、sqDepth/scqDepth 生效、默认深度(OPBASE 8192 / OFFLOAD 128)及 CheckUbScqDepth 规格边界(min/max/超界/哨兵值,含 USER_CTL 模式) 2. 新增 UT 工程 test/ut/base_comm/common/orion_adpt_utils/(ut_orion_adpt_utils.cc 290 行):验证 CheckUbScqDepth 与规格校验逻辑 3. 同步更新 stub 及既有用例签名(llt_next_orion_stub.cc、orion_adapter_hccp_stub.cc、st_coverResult.cc、st_dev_ccu_connection.cc、ut_dev_ccu_connection.cc) 补充的UT用例: 1. st_ub_queue_depth_config.cc — 独占/共享 JFC 创建与释放全场景(如 HostUbTp_WithScqDepth_CreatesExclusiveJfc、ExclusiveJfc_ReleasedOnConnectionDestroy、SharedJfc_NotReleasedOnDestroy) 2. ut_orion_adpt_utils.cc — CheckUbScqDepth 规格边界(NORMAL/STARS_POLL/USER_CTL 的 min/max/越界/默认值) ## 文档更新 - HcommChannelDesc 新增 scqDepth 字段说明:docs/zh/api_ref/comm_opdev/datatype_definition/HcommChannelDesc.md ## 合入检查 - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论/lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5133 | 1 month ago | |
CCU A6代际0.5rtt特性接口 Co-authored-by: gcw_7BxPXy6M<luoxiangyong1@huawei.com> Co-authored-by: Haoran Zheng<zhenghaoran22@huawei.com> Co-authored-by: hulk1997<hulinkang1@huawei.com> Co-authored-by: zhh<zenghonghui5@huawei.com> Co-authored-by: linzy_hccl<linzhiyang5@huawei.com> Co-authored-by: qq_46994783<sunenguang1@h-partners.com> # message auto-generated for no-merge-commit merge: !4873 merge ccu_rtt into master CCU A6代际0.5rtt特性接口 Created-by: gcw_7BxPXy6M Commit-by: hulk1997;qq_46994783;linzy_hccl;gcw_7BxPXy6M;Haoran Zheng;zhh Merged-by: cann-robot Description: ### 简要描述 新增 A6 代际 CCU 0.5-RTT(半往返)特性接口,通过级联计数器聚合同步替代逐事件信号量等待,减少通信往返次数 ### 问题描述 现有 CCU 通信同步机制依赖逐事件信号量(Post/Wait Sem),每次数据操作完成后需单独 Post 信号量通知对端,对端需逐个 Wait。在多对端聚合场景下,N 个对端的到达通知需要 N 次 Wait,同步开销随对端数线性增长,成为通信延迟的主要瓶颈。此外,DMA 写与计数器递增分两条指令完成,无法在一次操作中同时通知对端,进一步增加了同步往返。 ### 解决方案 - **资源层**:新增 HcommCcuCascCntHandle 句柄类型与 HCOMM_CCU_RES_TYPE_CASC_CNT 资源枚举,在 CcuComponent 中实现级联计数器块的分配/查询(CcuCascCntAlloc/CcuCascCntGetMem),每 die 上限 4 块,每块含 wishCntXn + totalCntXn + expectedCntXn - **Kernel 层**:在 CcuKernel 中新增 CascCntWait/CascCntClear/WriteVarAtomicAdd/WriteWithCascCntInc/LoadAddImm/AddImmStore 六个 API,封装为 CcuKernel 成员方法 - **Rep 层**:新增 6 个 IR 表示类(CcuRepCascCntWait/CcuRepCascCntClear/CcuRepWriteVarAtomic/CcuRepWriteWithCntInc/CcuRepLoadAddImm/CcuRepStoreAddImm),以及对应的 CcuRepType 枚举值 - **翻译层**:在 CcuInsGeneratorV2 中实现 6 个 translate 方法,调用 CcuV2::SyncAtX(原子写)、CcuV2::TransMem(带计数器递增的 DMA 写)等微码构造函数;后端优化器(InstructionScheduler)增加对 0.5-RTT 特殊指令的 LoadX/StoreX 读写优化识别 - **C API 层**:在 ccu_primitives.hpp 中暴露 CascCntWait/CascCntClear/WriteVarAtomicAdd/WriteWithCascCntInc/LoadAddImm/AddImmStore/ChannelIdGet 等 C++ inline 封装;在 ccu_res_c_adpt.cc 中实现资源侧 C 接口 - **资源管理**:新增 CcuCascCntBlockMgr 管理级联计数器块的生命周期,随 CcuInstance 创建/销毁 ### 影响范围 - 新增功能:6 个 0.5-RTT 数据面 API(级联计数器等待/清零、原子写、带计数器递增的写、Load/AddImm 复合操作) - 新增功能:3 个资源侧 C 接口(HcommCcuCascCntAlloc/HcommCcuCascCntGetMem/HcommCcuGetRmtMemToken) - 新增功能:级联计数器资源类型 HCOMM_CCU_RES_TYPE_CASC_CNT 及 CcuCascCntBlockMgr 管理器 - 性能:多对端聚合同步从 N 次 Wait 降为 1 次 CascCntWait,DMA 写与计数器递增合并为单条指令 - 兼容性:新增接口不影响已有通信流程,向后兼容 - 后端优化:InstructionScheduler 扩展支持 0.5-RTT 指令的寄存器读写优化,通过环境变量 HCOMM_CCU_HALF_RTT_XN_OPT=1 开启 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 - UT:ut_ccuTaskException_halfRtt_test.cc — 验证 0.5-RTT 异常诊断场景 - UT:ut_ccu_microcode_loadx_storex.cc — 验证后端优化器对 LoadX/StoreX 的读写优化 - UT:ccu_imm_casc_demo.h — 级联计数器立即数 demo kernel - 手动测试:验证hcommtest中,dispach算子一卡多专家场景,bs=8和bs=256的正确性 ## 文档更新 <!--如果这个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!4873 | 1 month ago | |
[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 month ago | |
[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 month ago | |
【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Co-authored-by: zjw22<zhujiawei29@huawei.com> # message auto-generated for no-merge-commit merge: !4916 merge 930 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Created-by: zjw22 Commit-by: zjw22 Merged-by: cann-robot Description: ## 描述 本 PR 完成 base_comm(L3)对 coll_communicator_mgr(L2)的编译期反向依赖消减 主要改动: 1. **头文件下沉**:将 base_comm 引用的上层头文件逐个消减/下沉至 base_comm 或 pkg_inc,包括 hccl_comm_pub.h、hcom_common.h、hcclCommDfx.h、dfx_profiling_handler(_lite).h、coll_comm_aicpu_kernel_adpt.h、aicpu_init_param.h、comm_mems.h、notify_manager.h、hccl_independent_common.h、hcclCommOp.h 等; 2. **dfx 代码归位**:将 profiling/taskException 相关实现迁入 src/base_comm/dfx/(dfx_profiling_handler.cc、dfx_profiling_handler_lite.cc、dfx_dlprof_function.cc、hcclCommOp.cc、channel_profiling_adpt.cc 等),device 侧代码归入 device 编译目标;通过 std::function 回调注册 + DfxDlProfFunction(dlopen)桥接替代对上层头文件的直接依赖; 3. **构建收口**:删除 hcomm_base_obj.cmake 中全部 16 个 coll_communicator_mgr include 目录,base_comm 编译期不再可见上层头文件; 4. **配套修复**:修复消减过程中暴露的编译问题、UT/ST 失败及 pre-commit 问题;新增 opbase_adpt 收敛 hcom_common.h 中的线程设备 ID 声明。 变更后经全仓检查,src/base_comm 下无任何对 coll_communicator_mgr 的 #include 与符号引用,分层依赖方向(L2→L3)成立。 ## 变更类型 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:分层架构整改(base_comm 反向依赖消减,代码迁移与构建收口) ## 关联的Issue NA <!-- 若有拆解的消减任务 Issue 请替换 --> ## 测试 已完成的测试用例和场景: 1. bash build.sh --pkg --full 全量编译通过(host + device),无编译错误/告警; 2. bash build.sh -u UT 全量通过(含修复的 ut/st 用例); 3. bash build.sh -s ST 二级冒烟通过; 4. HCCL_TEST用例样子通过 5. HIXL Benchmark 单机双机用例通过 6. HCCL 图模式用例通过 7. checker用例 7.1 CCU_SCHED  7.2 AI_CPU  7.3 AIV  补充的UT用例: - opbase_adpt 适配层(新增 test/ut/base_comm/common/,target hccl_ut_base_comm_common):HcclGetThreadDeviceId 覆盖缓存命中、首次调用成功、hrtGetDevice 失败、GetMaxDevNum 失败、设备数超限返回 INVALID_INT 共 5 条路径;HcclDeviceRefresh 覆盖成功(出参刷新+thread_local 缓存更新)/失败透传错误码 2 条路径;依赖 hrtGetDevice/hccl::GetMaxDevNum/hrtGetDeviceRefresh 均走 mockcpp 打桩; - channel_profiling_adpt 注册/回调机制(test/ut/dfx/ut_channel_profiling_adpt.cc,并入 target hccl_utest_dfx):未注册时 GetChannelRemoteRankIdFuncImpl 返回 nullptr、注册后返回注册函数指针、注册后回调可正常调用(覆盖检视意见要求的注册前/注册后场景)、双线程并发注册+读取冒烟(验证 g_getChannelRemoteRankIdFunc 原子化改造无数据竞争); ## 文档更新 无 <!-- 若 dfx 目录迁移影响架构文档,同步更新 docs/zh/architecture/architecture-brief.md --> ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) <!-- 建议标题:[refactor] base_comm 依赖 coll_communicator_mgr 消减 --> - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4916 | 1 month ago | |
【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Co-authored-by: zjw22<zhujiawei29@huawei.com> # message auto-generated for no-merge-commit merge: !4916 merge 930 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第二阶段反向依赖解耦 Created-by: zjw22 Commit-by: zjw22 Merged-by: cann-robot Description: ## 描述 本 PR 完成 base_comm(L3)对 coll_communicator_mgr(L2)的编译期反向依赖消减 主要改动: 1. **头文件下沉**:将 base_comm 引用的上层头文件逐个消减/下沉至 base_comm 或 pkg_inc,包括 hccl_comm_pub.h、hcom_common.h、hcclCommDfx.h、dfx_profiling_handler(_lite).h、coll_comm_aicpu_kernel_adpt.h、aicpu_init_param.h、comm_mems.h、notify_manager.h、hccl_independent_common.h、hcclCommOp.h 等; 2. **dfx 代码归位**:将 profiling/taskException 相关实现迁入 src/base_comm/dfx/(dfx_profiling_handler.cc、dfx_profiling_handler_lite.cc、dfx_dlprof_function.cc、hcclCommOp.cc、channel_profiling_adpt.cc 等),device 侧代码归入 device 编译目标;通过 std::function 回调注册 + DfxDlProfFunction(dlopen)桥接替代对上层头文件的直接依赖; 3. **构建收口**:删除 hcomm_base_obj.cmake 中全部 16 个 coll_communicator_mgr include 目录,base_comm 编译期不再可见上层头文件; 4. **配套修复**:修复消减过程中暴露的编译问题、UT/ST 失败及 pre-commit 问题;新增 opbase_adpt 收敛 hcom_common.h 中的线程设备 ID 声明。 变更后经全仓检查,src/base_comm 下无任何对 coll_communicator_mgr 的 #include 与符号引用,分层依赖方向(L2→L3)成立。 ## 变更类型 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:分层架构整改(base_comm 反向依赖消减,代码迁移与构建收口) ## 关联的Issue NA <!-- 若有拆解的消减任务 Issue 请替换 --> ## 测试 已完成的测试用例和场景: 1. bash build.sh --pkg --full 全量编译通过(host + device),无编译错误/告警; 2. bash build.sh -u UT 全量通过(含修复的 ut/st 用例); 3. bash build.sh -s ST 二级冒烟通过; 4. HCCL_TEST用例样子通过 5. HIXL Benchmark 单机双机用例通过 6. HCCL 图模式用例通过 7. checker用例 7.1 CCU_SCHED  7.2 AI_CPU  7.3 AIV  补充的UT用例: - opbase_adpt 适配层(新增 test/ut/base_comm/common/,target hccl_ut_base_comm_common):HcclGetThreadDeviceId 覆盖缓存命中、首次调用成功、hrtGetDevice 失败、GetMaxDevNum 失败、设备数超限返回 INVALID_INT 共 5 条路径;HcclDeviceRefresh 覆盖成功(出参刷新+thread_local 缓存更新)/失败透传错误码 2 条路径;依赖 hrtGetDevice/hccl::GetMaxDevNum/hrtGetDeviceRefresh 均走 mockcpp 打桩; - channel_profiling_adpt 注册/回调机制(test/ut/dfx/ut_channel_profiling_adpt.cc,并入 target hccl_utest_dfx):未注册时 GetChannelRemoteRankIdFuncImpl 返回 nullptr、注册后返回注册函数指针、注册后回调可正常调用(覆盖检视意见要求的注册前/注册后场景)、双线程并发注册+读取冒烟(验证 g_getChannelRemoteRankIdFunc 原子化改造无数据竞争); ## 文档更新 无 <!-- 若 dfx 目录迁移影响架构文档,同步更新 docs/zh/architecture/architecture-brief.md --> ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) <!-- 建议标题:[refactor] base_comm 依赖 coll_communicator_mgr 消减 --> - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4916 | 1 month ago | |
[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 months ago | |
[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 months ago | |
[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 months ago | |
[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 month ago | |
[feat]新增仓内AI贡献流程skill(.agents/skills/hcomm-contribute) Co-authored-by: yanzhenghang<625612333@qq.com> # message auto-generated for no-merge-commit merge: !4945 merge feat/agents-contribute-skill into master [feat]新增仓内AI贡献流程skill(.agents/skills/hcomm-contribute) Created-by: yanzhenghang Commit-by: yanzhenghang Merged-by: cann-robot Description: ## 描述 为贡献者(AI Agent 或人工)提供仓内标准的贡献流程工作流。关联需求见 Issue #807。 新增 .agents/skills/hcomm-contribute/(贡献流程 skill,与已合入的 hcomm-review 检视 skill 配对): | 文件 | 内容 | |------|------| | SKILL.md | 贡献流程八步(代码获取与更新→依赖环境确认→本地构建与测试→Issue 查重创建→PR 创建提交并自动触发 CI→CI 监控→CI 失败修复→检视意见处置)+ 清理;每个子流程可独立运行;首次配置引导与执行纪律 | | references/README.md | 参考文档索引(按场景加载) | | references/gitcode-api.md | GitCode API 端点、认证、PR/Issue 创建语义、CI 标签流转与 saw_running 终态判定、错误码与已验证行为规律 | | references/ci-triage.md | CI 失败诊断:常见失败模式表、codecheck G.* 规则与修复模式清单、已知非阻塞判定 | | scripts/contribute.py | 贡献辅助脚本(Python 3.7+ 纯标准库):环境校验 / 仓库同步(clone、fetch、脏工作区自动 worktree 隔离)/ Issue 查重与创建(标题关键词匹配,已有复用)/ PR 提交(git 身份校验 + push fork + 创建或复用 PR + 自动评论 /compile + GET 回查)/ CI 状态轮询(saw_running 状态机防旧标签误判)/ CI 失败日志获取(OBS 直链免登录)/ 未处理检视意见列表 / worktree 与临时文件清理 | | scripts/test_contribute.py | 单元测试(55 用例,mock git 仓 + mock API,无网络依赖) | | .agents/README.md | 仓内两个 AI skill(contribute/review)的简介与使用指引 | 另:根 AGENTS.md 末尾新增一行——贡献链路操作使用本 skill,本地构建与测试命令以 AGENTS.md 第 4 节与 build.md 为准。 **设计原则**:SKILL.md 只固化通用工作流;构建命令、依赖版本、编码规范不复制进 skill,从仓内 AGENTS.md 与 docs/zh/build/build.md 动态获取(规范演进自动跟随,无双源漂移)。与 hcomm-review skill 分工互补:review 管检视,contribute 管贡献链路;检视意见修复后的线程回复复用 review skill 的 --dispose。 ## 变更类型 - [x] ✨ 新特性 ## 关联的Issue #807 ## 测试 已完成的测试用例和场景: 1. 单元测试 54 用例双平台全绿:Windows(Python 3.14)与 WSL Ubuntu(Python 3.10),运行方式 python3 -m unittest test_contribute,无网络依赖(mock git 仓 + mock API,覆盖仓库同步三态、Issue 查重命中/未命中、PR 创建/422 复用、CI 状态机含 stale 标签防误判、检视意见列表、翻页防护、环境校验) 2. 真实只读验证:--check-env(token/remote/身份全通过)、--ci-status(真实 PR 标签与 GitCode 页面一致)、--list-review-comments(真实 PR 14 条未处理检视意见正确识别,含文件路径与行号) 3. **本 PR 自身作为 dogfooding 实测**:Issue #807 由本 skill --issue-ensure 创建(自动查重无重复 + 自动加【需求】前缀);重复运行验证查重复用生效;本 PR 由本 skill --submit-pr 提交(push fork + PR 创建 + 自动 /compile 触发 + GET 回查全链路) 4. 检视意见修复轮(skill 深度自检 10/11 条实证意见全部修复:sync 二次运行/本地提交保护/v5 单条接口补路径/fork 绑定 token 账号/stale 退出/issue 自动关联/force-with-lease 设防等),测试增至 54 用例 5. 按需配置改进:纯 clone 用户(不提交 PR)免 token(check-env 降 WARN);AGENTS.md 索引移入贡献流程章节;ci-triage 扩充 C++ 场景失败模式 6. 环境坑指引轮:Step 2/3 补充实测环境坑(UT 的 aicpu 前置须 --pkg --full 并安装 CANN、rootinfo 残留排查、WSL source 姿势、CANN 符号落后判别),ci-triage 新增「环境坑」节;本地构建/UT/ST 在 x86 环境实测 100% 通过(60/60、12/12),全部失败模式均有 master 基线对照排除 6. 一轮 CI codecheck 失败(8 条告警:G.ERR.09 父子异常同捕 / G.CLS.06 方法排列 ×4 / G.FMT.03 空行 ×3)已全部修复,修复模式同步沉淀进 references/ci-triage.md;修复后单测双平台回归全绿 5. CI ci-pipeline-passed 补充的UT用例: scripts/test_contribute.py(54 用例:URL 归一化 / remote 探测 / 布局探测 / sync-repo 三态 / Issue 关键词与查重 / submit-pr 全链路与 422 复用与拒绝条件 / CI 状态机 7 态 / 流水线链接解析 / OBS 日志下载与 404 容忍 / 检视意见列表与过滤 / cleanup / token 优先级 / 翻页防护 5 例) ## 文档更新 本 PR 即文档与工具新增;另修改根 AGENTS.md 新增一行贡献流程 skill 索引。 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md) - [x] 🏷️ 标题中使用了合适的类型标签([feat]) - [x] 📄 代码修改内容已简要描述 - [x] 🛠️ 纯新增 .agents/ 下文档与 python 脚本 + AGENTS.md 一行索引,不触碰 src/include/pkg_inc,无 C++ 代码变更 See merge request: cann/hcomm!4945 | 2 months ago | |
[modify docs]修正文档中英文不一致性问题 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !4700 merge master into master [modify docs]修正文档中英文不一致性问题 Created-by: flyswa Commit-by: zangyan 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!4700 | 2 months ago | |
[Fix] hitest出包放宽tar包size校验限制 Co-authored-by: jiyuanhao<jiyuanhao1@huawei.com> # message auto-generated for no-merge-commit merge: !5052 merge fix/hitest-size into master [Fix] hitest出包放宽tar包size校验限制 Created-by: jiyuanhao Commit-by: jiyuanhao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [Fix] hitest出包放宽tar包size校验限制 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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!5052 | 2 months ago | |
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 months ago | |
【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 months ago | |
init code | 11 months ago | |
[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 month ago | |
[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 months ago | |
[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 months ago | |
[Docs] SECURITY.md rdma-core 行尾幽灵空单元格致列数失配(修复 #790) Co-authored-by: Taoyouce<3463716443@qq.com> # message auto-generated for no-merge-commit merge: !4840 merge fix/security-md-ghost-cell into master [Docs] SECURITY.md rdma-core 行尾幽灵空单元格致列数失配(修复 #790) Created-by: 2403_87936996 Commit-by: Taoyouce Merged-by: cann-robot Description: ## 描述 SECURITY.md L33(rdma-core 行)行尾存在多余空单元格:该三方依赖表为 5 列(见 L26 分隔行),此行为 6 格,行尾幽灵空格导致渲染时追加空白列或整表解析异常。 修复:移除行尾多余 | 及其空白,使该行恢复 5 列。仅 1 行字符级变更,不改动任何文字、链接与表格语义。 ## 关联的Issue https://gitcode.com/cann/hcomm/issues/790 ## 测试 本地渲染验证:修复后全表各行分隔符数量一致(5 列),表格正常渲染;diff 仅 1 行变更。 ## 文档更新 本 PR 即文档修复,无额外文档更新需求。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/hcomm!4840 | 2 months ago | |
[modify docs]修正文档中英文不一致性问题 Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: !4700 merge master into master [modify docs]修正文档中英文不一致性问题 Created-by: flyswa Commit-by: zangyan 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!4700 | 2 months ago | |
[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 months ago | |
软件架构调整 Co-authored-by: ren-mengguang<renmengguang@h-partners.com> # message auto-generated for no-merge-commit merge: !2167 merge rmg_code into master 软件架构调整 Created-by: ren-mengguang Commit-by: ren-mengguang Merged-by: cann-robot Description: ## 描述 目录结构调整为和软件架构一致。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [x] 📋 其他,请描述: 目录结构调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1.A5 hccltest&基础RDV用例自验 2. A5 RDV,部分A2&A3RDV 3. A2&A3daily,A5 8p后冒烟用例 补充的UT用例: 不涉及 ## 文档更新 待补充 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!2167 | 5 months ago | |
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 months ago | |
[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 months ago | |
[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 months ago | |
[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 months ago |
HCOMM
English | 简体中文
🔥 Latest News
- [2025/11/30] The HCOMM project is now open source.
🚀 Overview
HCOMM (Huawei Communication) is the underlying communication library of HCCL. It provides communication domain and communication resource management capabilities.
HCOMM offers standardized communication programming interfaces with the following key features:
- Supports multiple communication engines on Ascend devices, fully leveraging hardware capabilities.
- Supports multiple communication protocols, including PCIe, HCCS, RDMA, and more.
- Decouples the communication platform from communication operator development, enabling independent development, building, and deployment of communication operators.

The HCOMM communication library adopts a layered and decoupled design approach, dividing communication capabilities into a control plane and a data plane.
- Control plane: Provides topology information query and communication resource management.
- Data plane: Provides data transfer and computation capabilities such as local operations, inter-operator synchronization, and communication operations.
The control plane provides communication resources, and the data plane provides methods for operating on resources. The communication programming interfaces allow communication operator developers to focus on business innovation without concerning themselves with the complex implementation details at the chip level.
🔍 Directory Structure
The key directories of this project are as follows:
├── src # Source code directory
│ ├── base_comm # Basic communication layer
│ │ ├── common # Common basic functionality for the basic communication layer
│ │ ├── primitives # Basic communication primitives
│ │ └── resources # Basic communication resources
│ ├── coll_communicator_mgr # Collective communication domain management
│ │ ├── api_c_adpt # C interface adaptation
│ │ ├── common # Common basic functionality for the collective communication layer
│ │ ├── communicator # Communication domain
│ │ ├── config_mgr # Configuration management
│ │ ├── dfx # Diagnostics and tracing
│ │ ├── rank_graph # Topology management
│ │ └── resource_mgr # Resource management
│ └── legacy # Historical version compatibility directory
│ ├── ascend910 # A2 and A3 compatibility code
│ │ ├── algorithm # Communication algorithm source code
│ │ ├── common # Common basic functionality
│ │ ├── framework # Communication framework source code
│ │ ├── hccd # Inter-process point-to-point communication
│ │ ├── platform # Communication platform source code
│ │ └── pub_inc # Platform interface header files
│ └── ascend950 # A5 legacy flow compatibility code
│ ├── common # Common basic components
│ ├── framework # Framework core implementation
│ ├── include # Public interface header files
│ ├── interface # Interface adaptation layer
│ ├── local_build # Local build tools
│ ├── service # Service layer
│ └── unified_platform # Unified platform layer
├── python # Python package
├── include # External header files
├── pkg_inc # Inter-package interface header files
├── experimental # Community-contributed experimental code directory
├── test # Test code directory
│ ├── ut # Unit test code directory
│ └── st # System test code directory
├── docs # Documentation directory
├── examples # Sample code directory
└── build.sh # Build script
📝 Version Compatibility
The source code of this project is released alongside the CANN software version. For the mapping between CANN software versions and this project's tags, refer to the corresponding version descriptions in the release repository. To ensure a smooth custom source code development experience, select a compatible CANN version and GitCode tag. Using the master branch may pose a version mismatch risk.
⚡️ Quick Start
To quickly build and experience this project, refer to the following simple guides.
- Source Code Build: Learn how to compile and install this project, and perform basic test verification.
- Sample Execution: Follow detailed sample code and step-by-step instructions for a quick experience.
📖 Learning Tutorials
HCCL provides usage guides, communication operator development guides, technical articles, and training videos. For details, see the HCCL References. HCCL also offers QuickStart guides, common FAQs, and other wiki resources. For details, see the WIKI.