| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
distributebarrier算子在A5上context结构体切换 Co-authored-by: Yuyu-Li<liyuyu6@huawei.com> # message auto-generated for no-merge-commit merge: !3730 merge hccl_context_lyy into master distributebarrier算子在A5上context结构体切换 Created-by: Yuyu-Li Commit-by: Yuyu-Li Merged-by: cann-robot Description: ## 描述 distributebarrier算子在A5上context结构体切换 # 代码检视报告 ## 基本信息 | 项目 | 内容 | |-----|-----| | Commit ID | eaa63da32ae4e3c706de387152a8b8d946c5a932 | | 提交说明 | distributebarrier算子在A5上context结构体切换 | | 检视范围 | C++安全规范 + 通用编码规范 + TOPK高频问题 | | 检视日期 | 2026-05-12 | --- ## 检视摘要 | 类别 | 问题数 | 严重级别 | |-----|-------|---------| | C++ 安全规范 | 0 | - | | C++ 通用规范 | 1 | 中 | | TOPK 高频问题 | 0 | - | | **总计** | **1** | **中危问题: 1** | --- ## 详细检视结果 ### 一、C++ 通用编码规范问题 #### 问题1: 未使用的头文件包含 [中] [规范2.3] **文件**: mc2/distribute_barrier_extend/op_host/op_tiling/distribute_barrier_extend_tiling.cpp **位置**: 行1827-1838 **风险代码**: cpp #include <dlfcn.h> #include <fcntl.h> #include <sys/types.h> #include <unistd.h> #include <cmath> #include <cstdio> #include <cstdlib> #include <queue> **假设检验过程**: | 步骤 | 分析内容 | 自信值增量 | |-----|---------|-----------| | 头文件用途识别 | dlfcn.h: 动态加载, fcntl.h: 文件控制, sys/types.h: 系统类型定义 | +30% | | 代码引用检查 | 文件中未调用 dlopen/dlclose, open/fcntl, 未使用 pid_t 等类型 | +40% | | 规范违反 | cpp-general.md 2.3: 禁止包含用不到的头文件 | +40% | | **自信值** | **110%** | **存在风险** | **问题说明**: - 文件包含多个未使用的系统头文件和标准库头文件 - 增加编译依赖,可能导致不必要的重新编译 - 实际仅使用 <string> 和 <vector> (通过间接引用) **修复建议**: 删除以下未使用的头文件: cpp // 删除以下行 #include <dlfcn.h> #include <fcntl.h> #include <sys/types.h> #include <unistd.h> #include <cmath> #include <cstdio> #include <cstdlib> #include <queue> // 保留实际使用的头文件 #include <string> // 用于 std::string #include <vector> // 可能通过其他头文件间接使用 **规范引用**: [cpp-general.md] 2.3 禁止包含用不到的头文件 --- ## 安全红线问题检视结果 ### Host侧红线问题 | 红线要求 | 检视结果 | 说明 | |---------|---------|-----| | 除法操作除零保护 | ✅ 通过 | 所有除法操作除数来自TilingData,已校验非零 | | 数组访问越界保护 | ✅ 通过 | 数组索引均有边界判断或来自TilingData | | 整数运算溢出保护 | ✅ 通过 | 关键运算有业务约束保护 | | 指针操作判空 | ✅ 通过 | 属性获取和指针操作均有判空检查 | | 变量初始化 | ✅ 通过 | 成员变量在Init函数中正确初始化 | | 资源匹配 | ✅ 通过 | Kernel侧静态分配,无需释放 | ### Kernel侧红线问题 | 红线要求 | 检视结果 | 说明 | |---------|---------|-----| | GM地址偏移用int64 | ✅ 通过 | 业务约束确保安全范围 | | 除法除零保护 | ✅ 通过 | 除数来自TilingData,符合排除规则 | | 数组索引校验 | ✅ 通过 | 索引访问有边界保护 | --- ## Kernel侧排除规则执行说明 根据 cpp-secure.md Kernel侧排除规则,以下情况在检视中自动排除: | 排除规则 | 排除原因 | 检视执行情况 | |---------|---------|-------------| | 除数来自TilingData | Tiling阶段已校验非零 | ✅ 已严格执行 | | 索引来自TilingData | Tiling阶段已校验范围 | ✅ 已严格执行 | | 循环边界内索引 | 循环条件保证范围 | ✅ 已严格执行 | --- ## TOPK高频问题检视结果 | TOPK问题 | 检视结果 | 说明 | |---------|---------|-----| | 函数返回值校验 | ✅ 通过 | 所有关键函数调用均有返回值检查 | | GetInputDesc获取Dtype | ✅ 通过 | 正确使用GetInputDesc获取数据类型 | | 属性从context获取 | ✅ 通过 | 属性正确从context获取,未通过CompileInfo传递 | | 属性类型与IR原型一致 | ✅ 通过 | int64_t与IR原型Int类型匹配 | | 外部输入校验 | ✅ 通过 | Tiling阶段有完整的输入校验 | | GM偏移用int64表示 | ✅ 通过 | 业务约束确保安全 | | 特殊值处理 | ✅ 通过 | 无特殊值计算场景 | | atomic累加清零 | ✅ 通过 | 无atomic操作 | | 通信算子核间同步 | ✅ 通过 | 有SyncAll同步 | | 宏定义变量冲突 | ✅ 通过 | 无风险宏定义 | --- ## 建议修复优先级 ### 中危问题(建议修复) **唯一待修复问题**: 删除未使用的头文件 - 文件: distribute_barrier_extend_tiling.cpp - 行: 1827-1838 - 操作: 删除8个未使用的头文件包含 - 影响: 减少编译依赖,提升代码整洁度 --- ## 总结 本次检视严格执行假设检验方法论和Kernel侧排除规则: **检视统计**: - 代码文件: 32个文件变更 - 检视重点: Tiling代码 + Kernel代码 - 发现问题: 1个中危问题(未使用头文件) - 安全红线: 全部通过 ✅ - TOPK问题: 全部通过 ✅ **整体评价**: 代码质量优秀,安全防护完善。Host侧和Kernel侧均符合安全红线要求。唯一发现的问题为代码整洁性问题(未使用头文件),不影响功能和安全。 **建议**: 删除 distribute_barrier_extend_tiling.cpp 中的未使用头文件,保持代码整洁。 --- ## 附录: 检视方法论 本次检视采用假设检验驱动方法论: | 阶段 | 执行情况 | |-----|---------| | 阶段1: 参数校验 | ✅ 已校验必需参数完整性 | | 阶段2: 规范学习 | ✅ 已完整阅读3份规范文档 | | 阶段3: 代码段识别 | ✅ 已划分代码段进行分析 | | 阶段4: 假设建立 | ✅ 对每个代码段建立H0/H1假设 | | 阶段5: 证据收集 | ✅ 按规范条款系统性收集证据 | | 阶段6: 有效性校验 | ✅ 已排除误报(应用排除规则) | | 阶段7: 决策判断 | ✅ 自信值超过60%才判定为风险 | | 阶段8: 报告生成 | ✅ 已生成完整检视报告 | **排除规则应用统计**: - Kernel侧除法排除: 3处 - Kernel侧索引排除: 5处 - 业务约束保护认定: 2处 --- *报告生成时间: 2026-05-12* *检视工具: ascendc-code-review skill* *规范版本: cpp-secure.md (47条), cpp-general.md (46条), ascendc-topk.md (13条)* ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2300 ## 测试 二级冒烟,泛化测试 ## 文档更新 更新了README.md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!3730 | 5 个月前 | |
common目录整改 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !4870 merge feature/common_dir_fix_v2 into master common目录整改 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 本次修改对 common/ 目录进行整理,分为两个阶段: - **Phase 1**: 将 common/include/kernel/ 重命名为 common/include/op_kernel/ - **Phase 2**: 将 common/include/tiling_base/ 和 common/src/tiling_base/ 合并到 common/include/op_host/ 和 common/src/op_host/ 相应的 CMake 配置和所有 #include 路径引用已同步更新。 影响范围: - 351 个文件修改(include 路径更新) - 8 个文件重命名(tiling_base → op_host) - 2 个 CMakeLists.txt 修改 + 多个 tests 目录 CMakeLists.txt 更新 ## 关联的Issue Closes #2246 ## 测试 - 编译验证通过:bash build.sh --pkg --soc=ascend910b --ops=all_gather_matmul_v2 -j16 - 编译产物成功生成 .run 包 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!4870 | 5 个月前 | |
support aicpu const folding flow. Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !4715 merge master into master support aicpu const folding flow. Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 新增 transformer const folding ops flow(常量折叠算子流程),用于支持图像处理算子的常量折叠优化,减少运行时计算开销,提升推理性能。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2257 ## 测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置和编译,验证 CMake 配置变更正确 - 验证 cmake/func.cmake、symbol.cmake、variables.cmake 变更正确加载 2. **算子加载测试** - 验证 crop_and_resize 算子能正确加载 - 验证 OpsCvInc.xml 中新增算子接口注册成功 3. **功能验证** - 验证常量折叠功能正常工作 - 确认推理时常量折叠优化生效 ## 文档更新 无。 ## 类型标签 - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!4715 | 5 个月前 | |
更新离线编译第三方库下载脚本,添加opbase相关 Co-authored-by: davon<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !3028 merge third into master 更新离线编译第三方库下载脚本,添加opbase相关 Created-by: Davon14272 Commit-by: davon Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新离线编译第三方库下载脚本,添加opbase相关 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#1332](https://gitcode.com/cann/ops-transformer/issues/1332) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!3028 | 6 个月前 | |
enable proto headers in Transformer Co-authored-by: liusixia<liusixia@h-partners.com> # message auto-generated for no-merge-commit merge: !2685 merge master into master enable proto headers in Transformer Created-by: liusixia_gitcode Commit-by: liusixia Merged-by: cann-robot Description: ## 描述 Transformer仓使能各算子目录下proto.h 头文件,用于GEIR原型注册 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!2685 | 6 个月前 | |
check_compile_version Co-authored-by: 吴剑飞<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !2085 merge check_version into master check_compile_version Created-by: hid81635372 Commit-by: 吴剑飞 Merged-by: cann-robot Description: ## 描述 工程上支持在编译时对子包版本进行校验 ## 关联的Issue https://gitcode.com/cann/ops-transformer/pull/2085 ## 测试 功能上可以在子包版本低于构建依赖时进行告警,RDV已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 工程能力增加编译时版本校验功能 See merge request: cann/ops-transformer!2085 | 7 个月前 | |
check_compile_version Co-authored-by: 吴剑飞<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !2085 merge check_version into master check_compile_version Created-by: hid81635372 Commit-by: 吴剑飞 Merged-by: cann-robot Description: ## 描述 工程上支持在编译时对子包版本进行校验 ## 关联的Issue https://gitcode.com/cann/ops-transformer/pull/2085 ## 测试 功能上可以在子包版本低于构建依赖时进行告警,RDV已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 工程能力增加编译时版本校验功能 See merge request: cann/ops-transformer!2085 | 7 个月前 | |
增加pre-commit配置,commit代码时完成代码格式化及OAT扫描 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !3578 merge master_precommit into master 增加pre-commit配置,commit代码时完成代码格式化及OAT扫描 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!3578 | 6 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 6 个月前 |