文件最后提交记录最后更新时间
add block sparse attention A3 pack yaml Co-authored-by: clee11<chenlong238@huawei.com> # message auto-generated for no-merge-commit merge: !3267 merge master into master add block sparse attention A3 pack yaml Created-by: clee11 Commit-by: clee11 Merged-by: cann-robot Description: ## 描述 添加BlockSparseAttention A3打包文件 ## 关联的Issue [#1427](https://gitcode.com/cann/ops-transformer/issues/1427) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!32672 个月前
support block sparse attention operator Co-authored-by: clee11<chenlong238@huawei.com> Co-authored-by: h00808442<hanxiaobin3@huawei.com> # message auto-generated for no-merge-commit merge: !2235 merge master into master support block sparse attention operator Created-by: clee11 Commit-by: clee11;h00808442 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Transformer增加稀疏Attention算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#1045](https://gitcode.com/cann/ops-transformer/issues/1045) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!22352 个月前
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!373021 天前
ci 子包编译动态从def文件获取,静态配置算子分组 Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !4079 merge master into master ci 子包编译动态从def文件获取,静态配置算子分组 Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 ci 子包编译动态从def文件获取,静态配置算子分组 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1924 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!40791 个月前
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!373021 天前
使用公共仓api进行打包构建 Co-authored-by: sunhao<sunhao104@huawei.com> # message auto-generated for no-merge-commit merge: !4989 merge install_script_0507 into master 使用公共仓api进行打包构建 Created-by: Bugslover Commit-by: sunhao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重构 ops-transformer仓库的打包构建流程,将本地维护的打包脚本和安装脚本替换为引用工程公共仓 cann-cmake 中统一的 API,降低构建工程的复杂度和维护成本。 **主要改动**: 升级 cann-cmake 版本:从 master-001 升级到 master-007,新增 SHA256 校验(fetch_cann_cmake.cmake) 替换打包脚本引用路径:将 cmake/package.cmake 中所有 ${CMAKE_SOURCE_DIR}/scripts/package/ 和 ${CMAKE_SOURCE_DIR}/cmake/ 本地路径替换为 ${CANN_CMAKE_DIR}/ 公共路径 移除本地冗余脚本:删除 scripts/package/common/ 和 scripts/package/latest_manager/ 下共31 个文件 更新打包配置:新增 CPACK_PACKAGE_PARAM_NAME 参数和 share_info_name XML 配置项(ops_transformer.xml) 更新编译文档:同步更新 cann-cmake 版本号说明(docs/zh/install/compile.md) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#2436](https://gitcode.com/cann/ops-transformer/issues/2436) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 出包、安装、解包文件比对、二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> compile.md文档中追加了三方库:cann-cmake ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!498918 天前
新增experimental 950看护 Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !4936 merge master into master 新增experimental 950看护 Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 compile ci 新增experimental ascend950编译看护 scripts/ci/parse_changed_ops.py增加soc入参 支持不同soc,返回op_name ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1653 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!493622 天前
看板ut用例不同芯片类型分开执行 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !4994 merge fix_case_0507 into master 看板ut用例不同芯片类型分开执行 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 看板ut不同的芯片用例一起执行会失败。改成分开执行 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2289 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!499424 天前