| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
repeatinterleave 使用输出均匀切核方案,增加前缀和反算输入,增强性能 Co-authored-by: xiaodong666<yuanxiaodong6@huawei.com> # message auto-generated for no-merge-commit merge: !11160 merge repeat_with_count_num into master repeatinterleave 使用输出均匀切核方案,增加前缀和反算输入,增强性能 Created-by: xiaodong666 Commit-by: xiaodong666 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> repeatinterleave 使用输出均匀切核方案,增加前缀和反算输入,增强性能 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#6291](https://gitcode.com/cann/ops-nn/issues/6291) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地批量测试用例通过,冒烟通过, ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11160 | 22 天前 | |
feat(index): 适配 ScatterElementsV2、RepeatInterleave 和 MaskedScatter 的 Ascend 960 Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !11516 merge codex/index-960-adaptation into master feat(index): 适配 ScatterElementsV2、RepeatInterleave 和 MaskedScatter 的 Ascend 960 Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 为 ScatterElementsV2、RepeatInterleave、MaskedScatter 接入 Ascend 960dt/960pr,使芯片注册、二进制配置、编译入口和 ACLNN 平台分流形成完整适配链路;同时补齐 MaskedScatter 广播所需的 MaskedScatterWithPosition。 参考 [PR #11274](https://gitcode.com/cann/ops-nn/pull/11274) 的 add_kernel_sources(COMPUTE_UNITS ...) 编译选择策略,复用现有 kernel 和 arch35 tiling,不增加算法模板。960 binary 配置沿用当前 master 的 950 契约,保留 Scatter 的 include_self 属性。 - 使用 master 已有的 960dt/pr 公共构建入口,补齐四个算子的 OpDef、binary 配置和 kernel 入口选择。 - 架构判断限定在各算子的 .cpp 内,按 DAV_9201/DAV_9202 识别 960dt/pr;公共 aclnn_util.h、根 CMakeLists.txt 和 build.sh 均无 PR 差异。 - 960 Scatter 走 ScatterElementsV2 通用路径;ScatterAdd、ScatterAddWithSorted、ScatterUpdate 快捷路径仍受原平台条件限制。 - 复用的 arch35 kernel 不处理 include_self=false,因此 960 ScatterReduce 的 add/mul 组合在该参数为 false 时明确返回参数错误,覆盖 inplace/out-of-place 两入口。min/max/mean 保留原有 fallback,本 PR 不声明已验证其 960 支持。 迁移来源:ops-nn-dev/cann_out@f487ac66d1f4523f53886864a14b504fdf1a5357。适配保留目标仓当前实现,不回退到源分支的旧 API 或旧接口契约。 ## 关联的Issue 暂无关联 Issue。编译适配方式参考 PR #11274。 ## 测试 ### 950 编译回归 使用 CANN 9.2.0,目标 Ascend950PR_9599,通过本次源码编译的 Host tiling 库执行实际 asc_opc 编译: | 算子 | binary 配置数 | 结果 | | --- | ---: | --- | | ScatterElementsV2 | 20 | 全部通过 | | RepeatInterleave | 24 | 全部通过 | | MaskedScatter | 4 | 全部通过 | | MaskedScatterWithPosition | 10 | 全部通过 | - 58/58 个配置编译完成,逐项确认 .o 和配套 JSON 均存在且非空,编译日志无错误。 - 正式 ophost_nn、opapi_nn 库编译链接通过。平台判断移到算子内部后,已重新编译并链接 950 的 opapi_nn,并重跑全部相关 API UT,结果保持一致;kernel 源码和编译配置未改变。 - 与未修改基线 8987daa9698bc68c50435b699361beb3f6071ae7 比较,四个算子的 950 OpDef 生成信息,以及 kernel 入口、simplified key、auto_sync、编译选项、impl_mode 均一致。 - 仓库 CMake 配置检查确认 950/350/910B 的入口和 tiling 映射不变,960dt/pr 的新入口与 arch35 映射符合预期。 ### API UT - 新增 5 个测试全部通过,覆盖 DAV_9201/DAV_9202 的 BF16、scalar repeats、普通/expanded index、MaskedScatter 广播与空 source,以及 ScatterReduce 的 include_self 组合。 - 相关全量 API UT:104/106 通过。未修改基线为 99/101 通过,失败的是同样两个旧用例:l2_repeat_interleave_test.l2_repeat_interleave_test_09、l2_repeat_interleave_int_test.l2_repeat_interleave_int_test_09,均返回 161002 而断言期待成功。 - API UT 验证参数和 workspace 构建,不代表设备数值或性能验证。 - bash -n build.sh、git diff --check 通过;独立代码审查的已发现问题均已修复并复核。 ### 尚未完成的验证 本机 CANN 9.2.0 的 SDK 支持列表不含 ascend960dt/pr,两者均在 CMake 配置阶段被明确拒绝。因此 960 kernel 实编译和设备验证仍需支持 960 的工具链完成;未修改 SDK 白名单或伪造平台配置。 ## 文档更新 无。适配范围和验证边界记录于本 PR 描述。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11516 | 2 天前 | |
feat(index): 适配 ScatterElementsV2、RepeatInterleave 和 MaskedScatter 的 Ascend 960 Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !11516 merge codex/index-960-adaptation into master feat(index): 适配 ScatterElementsV2、RepeatInterleave 和 MaskedScatter 的 Ascend 960 Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 为 ScatterElementsV2、RepeatInterleave、MaskedScatter 接入 Ascend 960dt/960pr,使芯片注册、二进制配置、编译入口和 ACLNN 平台分流形成完整适配链路;同时补齐 MaskedScatter 广播所需的 MaskedScatterWithPosition。 参考 [PR #11274](https://gitcode.com/cann/ops-nn/pull/11274) 的 add_kernel_sources(COMPUTE_UNITS ...) 编译选择策略,复用现有 kernel 和 arch35 tiling,不增加算法模板。960 binary 配置沿用当前 master 的 950 契约,保留 Scatter 的 include_self 属性。 - 使用 master 已有的 960dt/pr 公共构建入口,补齐四个算子的 OpDef、binary 配置和 kernel 入口选择。 - 架构判断限定在各算子的 .cpp 内,按 DAV_9201/DAV_9202 识别 960dt/pr;公共 aclnn_util.h、根 CMakeLists.txt 和 build.sh 均无 PR 差异。 - 960 Scatter 走 ScatterElementsV2 通用路径;ScatterAdd、ScatterAddWithSorted、ScatterUpdate 快捷路径仍受原平台条件限制。 - 复用的 arch35 kernel 不处理 include_self=false,因此 960 ScatterReduce 的 add/mul 组合在该参数为 false 时明确返回参数错误,覆盖 inplace/out-of-place 两入口。min/max/mean 保留原有 fallback,本 PR 不声明已验证其 960 支持。 迁移来源:ops-nn-dev/cann_out@f487ac66d1f4523f53886864a14b504fdf1a5357。适配保留目标仓当前实现,不回退到源分支的旧 API 或旧接口契约。 ## 关联的Issue 暂无关联 Issue。编译适配方式参考 PR #11274。 ## 测试 ### 950 编译回归 使用 CANN 9.2.0,目标 Ascend950PR_9599,通过本次源码编译的 Host tiling 库执行实际 asc_opc 编译: | 算子 | binary 配置数 | 结果 | | --- | ---: | --- | | ScatterElementsV2 | 20 | 全部通过 | | RepeatInterleave | 24 | 全部通过 | | MaskedScatter | 4 | 全部通过 | | MaskedScatterWithPosition | 10 | 全部通过 | - 58/58 个配置编译完成,逐项确认 .o 和配套 JSON 均存在且非空,编译日志无错误。 - 正式 ophost_nn、opapi_nn 库编译链接通过。平台判断移到算子内部后,已重新编译并链接 950 的 opapi_nn,并重跑全部相关 API UT,结果保持一致;kernel 源码和编译配置未改变。 - 与未修改基线 8987daa9698bc68c50435b699361beb3f6071ae7 比较,四个算子的 950 OpDef 生成信息,以及 kernel 入口、simplified key、auto_sync、编译选项、impl_mode 均一致。 - 仓库 CMake 配置检查确认 950/350/910B 的入口和 tiling 映射不变,960dt/pr 的新入口与 arch35 映射符合预期。 ### API UT - 新增 5 个测试全部通过,覆盖 DAV_9201/DAV_9202 的 BF16、scalar repeats、普通/expanded index、MaskedScatter 广播与空 source,以及 ScatterReduce 的 include_self 组合。 - 相关全量 API UT:104/106 通过。未修改基线为 99/101 通过,失败的是同样两个旧用例:l2_repeat_interleave_test.l2_repeat_interleave_test_09、l2_repeat_interleave_int_test.l2_repeat_interleave_int_test_09,均返回 161002 而断言期待成功。 - API UT 验证参数和 workspace 构建,不代表设备数值或性能验证。 - bash -n build.sh、git diff --check 通过;独立代码审查的已发现问题均已修复并复核。 ### 尚未完成的验证 本机 CANN 9.2.0 的 SDK 支持列表不含 ascend960dt/pr,两者均在 CMake 配置阶段被明确拒绝。因此 960 kernel 实编译和设备验证仍需支持 960 的工具链完成;未修改 SDK 白名单或伪造平台配置。 ## 文档更新 无。适配范围和验证边界记录于本 PR 描述。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11516 | 2 天前 | |
算子日志可读性与代码规范性的优化 Co-authored-by: xingtaowu<wuxingtao3@h-partners.com> # message auto-generated for no-merge-commit merge: !9376 merge fix_nn_log into master 算子日志可读性与代码规范性的优化 Created-by: xingtaowu Commit-by: xingtaowu Merged-by: cann-robot Description: ## 描述 批量修正日志/报错信息中的英文拼写错误与语法问题,并补充更明确的参数越界诊断信息,同时修正示例测试程序中的日志级别与代码格式问题。改动不涉及业务逻辑与算法流程变化,均为日志可读性与代码规范性的优化。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5291 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 冒烟通过 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ x] 其他,请描述:算子日志可读性与代码规范性的优化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9376 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 22 天前 | ||
| 2 天前 | ||
| 2 天前 | ||
| 1 个月前 |