| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(cleancode): 整改 legacy910 platform 代码 CleanCode 问题 Co-authored-by: niyi01<yini3@h-partners.com> # message auto-generated for no-merge-commit merge: !4529 merge cleancode into master fix(cleancode): 整改 legacy910 platform 代码 CleanCode 问题 Created-by: niyi01 Commit-by: niyi01 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 使用 typedef 定义类型别名 2. 使用 nullptr 替换 NULL ## 变更类型 请选择本次引入的变更类型: <!-- [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!4529 | 1 个月前 | |
fix:Fix RaGetAsyncReqResult function returning interfaceOpcode when not isdone Co-authored-by: ZhangChengJiong123<zhangchengjiong@huawei.com> # message auto-generated for no-merge-commit merge: !6006 merge fixReqRes into master fix:Fix RaGetAsyncReqResult function returning interfaceOpcode when not isdone Created-by: ZhangChengJiong123 Commit-by: ZhangChengJiong123 Merged-by: cann-robot Description: ## 描述 修复RaGetAsyncReqResult函数返回interfaceOpcode当!isdone ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: 新增ut用例TcRaGetAsyncReqResultNotDone,构造 isDone=false 的 RaRequestHandle,调用 RaGetAsyncReqResult 后验证返回值为 EAGAIN 且 reqResult.interfaceOpcode 被正确填充为 opHandle->opcode 的值。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!6006 | 3 天前 | |
【HCOMM】A5通信域粒度的batch一致性配置 Co-authored-by: huangdongsheng<huangdongsheng6@huawei.com> # message auto-generated for no-merge-commit merge: !5430 merge dev into master 【HCOMM】A5通信域粒度的batch一致性配置 Created-by: huangdongsheng Commit-by: huangdongsheng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> A5已有通过HCCL_DETERMINISTIC=strict开启Batch一致性的能力,但环境变量是进程级的,无法让同一进程中的不同通信域分别选择普通确定性或Batch一致性。A2/A3已支持通过通信域配置该开关,本需求补齐A5能力。 用户可在三个Config通信域创建接口中,通过HcclCommConfig::hcclDeterministic显式设置0、1或2;不设置时继承进程级配置。HCOMM在创建通信域时保存生效值,HCCL执行AllReduce、ReduceScatter时按当前通信域查询:值2使用现有strict保序路径,值0或1沿用A5普通确定性路径。本需求不新增Device侧算法。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: HCOMM相关 UT 全量回归通过。 补充的UT用例: - HCOMM:覆盖 A5 确定性 0/1/2 环境解析与 Get、Set/Get 非法值、通信域显式配置覆盖环境与默认继承、非法值报错、双通信域及父子通信域隔离、HcclConfigGetInfo 长度/空指针校验。 ## 文档更新 更新相关文档 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!5430 | 24 天前 | |
[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 个月前 | |
[fix] code clear Co-authored-by: lhdlhdlhd1234569<lihaodong19@h-partners.com> # message auto-generated for no-merge-commit merge: !5327 merge master into master [fix] code clear Created-by: lhdlhdlhd1234569 Commit-by: lhdlhdlhd1234569 Merged-by: cann-robot Description: ## 描述 ### 简要描述 code clear:修复 CANN 静态检查告警(G.INC/G.EXP/G.CNS/G.FUN/G.RES/G.STD/G.FMT/G.FUU 等),并处理检视意见(数据竞争、const 正确性、参数名一致性、IWYU 头文件治理) ### 问题描述 CANN CI codecheck 阶段报出大量静态检查告警,涵盖以下规则类别: - G.INC.02-CPP:禁止包含用不到的头文件 - G.INC.03-CPP:头文件应该自包含 - G.EXP.14-CPP:使用 C++ 提供的类型转换操作(C 风格 cast → static_cast/reinterpret_cast) - G.EXP.15-CPP:避免使用 reinterpret_cast(改用 memcpy type punning 或 ReinterpretAs 封装) - G.EXP.16-CPP:避免使用 const_cast(通过加 const 修饰消除) - G.EXP.27-CPP:使用恰当的基本类型作为操作符的操作数 - G.EXP.35-CPP:使用 nullptr 作为空指针常量 - G.EXP.36-CPP:控制表达式的结果应是布尔值 - G.CNS.03-CPP:对于不会修改成员变量的成员函数应使用 const 修饰 - G.CNS.04-CPP:对于指针和引用类型的参数,如果不需要修改其引用的对象,应使用 const 修饰 - G.FUN.02-CPP:函数的所有声明必须与定义具有一致的参数名 - G.RES.03-CPP:传递数组参数时不应单独传递指针(改为数组引用) - G.RES.06-CPP:避免 lambda 表达式使用默认捕获模式 - G.RES.10-CPP:使用 std::make_shared 而非 new - G.STD.02-CPP:使用 std::string 表示字符串 - G.FMT.17-CPP:合理安排空行 - G.FUU.13:禁止封装安全函数(NdaMemset/NdaMemcpy 改为 lambda 内联) - G.OTH.03:禁用 rand 函数产生用于安全用途的伪随机数 - SecL_DataRace:tp_mgr.cc 并发访问 devPhyId_ 存在数据竞争 ### 解决方案 按告警类别逐项修复,同时处理检视意见: 1. **头文件治理(G.INC.02/03)**: - 删除未使用的 include(如 ccu_microcode_v1.h 删除 <cstdlib>、endpoint.h 删除 orion_adpt_utils.h) - 补充自包含所需的 include(如 aicpu_ts_roce_channel_v2.h 补 exchange_rdma_conn_dto.h、ccu_rep_casc_cnt_clear.h 补 ccu_types.h/ccu_res_repo.h) - 从 endpoint.h 移除传递依赖后,9 个 .cc 文件各自显式 include orion_adpt_utils.h(IWYU 重构) - rma_connection.h 将 #include "socket.h" 改为 class Socket; 前置声明(Socket 仅指针使用) - endpoint_pair.h 恢复被误删的 STL 头文件(<cstring>/<cstdint>/<utility>/<unordered_map>/<cstddef>) 2. **类型转换修复(G.EXP.14/15/16)**: - C 风格 cast 替换为 static_cast / reinterpret_cast - reinterpret_cast 改用 ReinterpretAs 封装或 memcpy type punning - 消除 const_cast:host_cpu_roce_channel 的 PostRdmaOp/BuildRdmaWr 参数加 const,消除 const_cast<void*>(src) 3. **const 正确性(G.CNS.03/04、G.FUN.02)**: - 不修改成员变量的成员函数加 const 修饰(如 GetCntHandle/GetMask/GetOutCntTarget/GetMemAllocAddrRange 等) - 指针/引用参数加 const 修饰(如 port、qpIdx、localAddr、userDevId 等) - 声明与定义参数名/const 一致:server_socket_context 系列、host_cpu_roce_channel 的 Write/Read/WriteWithNotify 在头声明与 .cc 定义同步加 const 4. **数组参数改引用(G.RES.03)**: - ccu_microcode ReduceAdd/ReduceMax/ReduceMin 的 const uint16_t* ms 改为 const uint16_t (&ms)[CCU_REDUCE_MAX_MS] 5. **数据竞争修复(SecL_DataRace + 检视意见)**: - tp_mgr.h devPhyId_ 从 uint32_t 改为 std::atomic<uint32_t>,使用 std::memory_order_relaxed - dev_ub_connection.cc / host_ub_connection.cc 的 static std::mt19937 改为 static thread_local std::mt19937(消除多线程并发 gen() 的 UB) 6. **参数名一致性(G.FUN.02 + 检视意见)**: - ccu_rep_jump_v1.h 的 CcuRepJump/CcuRepJumpNE/CcuRepJumpEQ 声明参数名从 instrId 改为 curInstrId,与 .cc 定义一致(避免遮蔽基类成员 instrId) 7. **其他**:rand→random_device/mt19937、new→make_shared、nullptr 替换、魔法数字命名常量、lambda 显式捕获、空行整理、安全函数内联 ### 影响范围 - 涉及 125 个文件(src/base_comm、src/legacy、src/coll_communicator_mgr、test、experimental) - 不改变运行时行为,均为编译期/静态检查修复 - const 正确性改进可能暴露此前被 const_cast 掩盖的潜在修改问题 - thread_local mt19937 消除多线程建链时的数据竞争 UB - atomic devPhyId_ 消除并发 store/load 的 UB - IWYU 头文件重构降低编译依赖耦合,未来 socket.h/orion_adpt_utils.h 变更时减少重编译范围 ### 新增用例 - 无新增用例(纯 code clear,不涉及功能变更) ## 变更类型 请选择本次引入的变更类型: <!-- [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!5327 | 27 天前 | |
[fix] 清零flip占位SQE的reserved字段,避免缓存路径残留字节被下游误判为sub_type Co-authored-by: daishuangshuang<daishuangshuang@huawei.com> # message auto-generated for no-merge-commit merge: !5579 merge master into master [fix] 清零flip占位SQE的reserved字段,避免缓存路径残留字节被下游误判为sub_type Created-by: sreofwiseone Commit-by: daishuangshuang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> op_unfold 缓存路径在未清零的栈缓冲上组包 flip 占位 SQE,下游模块按新布局读 u.flip_task.sub_type/stream_id(落在本仓 reserved 字段上),残留字节导致 sub_type 误判为非 0,执行后回读 streamId 恒为 1023,与实际streamId不符。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/959 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. profiling异常场景验证通过 2. 补充的UT用例: Ut_AddOneFlipPlaceHolderSqeV1_ClearsDirtyBuffer(test/ut/platform/task/rtsq_interact/ut_aicpu_hccl_sqcqv1.cc) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5579 | 26 天前 |