| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
rectify examples Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !2972 merge dev_extra into master rectify examples Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 整改 GE IR 用例代码, 修复部分数据类型下GenData逻辑问题。 **主要改动**: 1. 修复命名空间问题: FORMAT_ND → ge::FORMAT_ND 2. 修复宏参数类型:GenOnesData(..., 1) → GenOnesData(..., 1.0) 3. 使用 std::to_string 替代字符串拼接,防止未定义行为 4. 删除冗余宏定义(ADD_INPUT_DOUBLE 等),提高代码可维护性 5. 添加 #include <ctime> 头文件 **涉及算子**: - slice_write - split_d - unpack - cosh - tile ## 关联的Issue #1694 ## 测试 根据代码变更,测试场景如下: 1. **GE IR 编译测试** - 验证整改后的 GE IR 用例能够正确编译 - 检查命名空间修复是否生效 2. **算子功能验证** - slice_write: 执行 GE IR 用例,验证切片写入功能 - split_d: 执行 GE IR 用例,验证张量分割功能 - unpack: 执行 GE IR 用例,验证解包功能 - cosh: 执行 GE IR 用例,验证双曲余弦功能 - tile: 执行 GE IR 用例,验证张量复制功能 3. **二级冒烟测试** - 验证算子包编译成功 - 验证 GE IR 执行成功,输出正确 ## 文档更新 无文档更新,仅整改 GE IR 用例代码 ## 类型标签 - [ ] Bug修复 - [x] 其他,请描述:GE IR 用例整改 See merge request: cann/ops-math!2972 | 3 个月前 | |
[fix] 插件归位 Co-authored-by: nextyale<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4626 merge issue2302 into master [fix] 插件归位 Created-by: nextyale Commit-by: nextyale Merged-by: cann-robot Description: ## 描述 迁移算子插件到对应目录 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2302 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 迁移插件 See merge request: cann/ops-math!4626 | 1 个月前 | |
增加split_v算子aicpu实现 Co-authored-by: 苏俊伟<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !2275 merge dev into master 增加split_v算子aicpu实现 Created-by: sujunwei3 Commit-by: 苏俊伟 Merged-by: cann-robot Description: ## 描述 新增split_v、split_d算子的AI CPU kernel实现,扩展CANN算子库在AI CPU上的算子支持范围。 ## 关联的Issue #1444 ## 测试 根据代码变更,测试场景如下: 1. **算子构建测试** - 执行 cmake 配置和编译,验证 CMake 配置变更正确 2. **算子加载测试** - 验证 split_d.json 和 split_v.json 接口注册成功 3. **单元测试** - split_v UT: bash build.sh -u --opkernel_aicpu --ops=split_v --soc=ascend910b - split_d UT: bash build.sh -u --opkernel_aicpu --ops=split_d --soc=ascend910b 4. **GE IR验证** - 编包 → 装包 → 执行 GE IR用例流程通过 ## 文档更新 - 新增 conversion/split_d/README.md,说明split_d算子的设计文档 - docs/zh/op_list.md新增split_v, split_d aicpu算子支持说明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2275 | 4 个月前 | |
补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !4821 merge dev into master 补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 本 PR 包含两部分改动: ### 1. 补充 4 个算子 rt2 infershape 实现 从 canndev 仓迁移 infershape 逻辑到 ops-math,包含 InferShape + InferDataType + InferShapeRange: - **coordinates_1d_to_2d**:rt1 改造为 rt2,3 个输出(row/col/n)的 shape+dtype+range 均来自输入 x - **split_d**:rt2 直接迁移,DYNAMIC_OUTPUT 按 split_dim/num_split 属性计算 shape+range - **slice_write**:rt1 改造为 rt2,输出 shape+dtype+range 来自输入 x,含 x/value dtype 一致性校验 - **calc_buckets_limit_and_offset**:rt1 改造为 rt2,2 个输出 shape+dtype 来自 bucket_list/ivf_offset - 同步迁移 UT 用例(共 8 个),改造为 InfershapeContextPara + ExecuteTestCase 格式 ### 2. 9 个算子常量折叠 HOSTCPU 改造 - CMakeLists.txt 加 HOSTCPU TRUE 参数 - 算子注册宏从 REGISTER_CPU_KERNEL 改为 OPS_MATH_REGISTER_CPU_KERNELV2 - 改造算子:calc_buckets_limit_and_offset、cast、coordinates_1d_to_2d、cumsum、lin_space、slice_write、split_v、topk、tile_with_axis - 编译产出 libopconstant_folding_math.so,strings 验证全部算子符号存在 ## 关联的Issue #2717 ## 测试 ### infershape UT 验证 - 执行 bash build.sh -u --ophost --soc=ascend910b --ops=<op_name> -j16 - 验证条件:exit code == 0 且日志含 [ PASSED ] N tests. - 8 个 UT 用例全部通过(含 dtype 不一致失败用例) ### 常量折叠编译验证 - 执行 bash build.sh --pkg --jit -j16 - 验证 libopconstant_folding_math.so 产出 - strings 验证 9 个算子符号均在 so 中 - RunCpuKernelV2 / GetCpuKernelV2 入口符号存在 ### 文档更新验证 - op_list.md 中 4 个算子 op_host 列 ×→√ - 2 个算子 op_kernel 列 ×→√(coordinates_1d_to_2d、slice_write) ## 文档更新 - docs/zh/op_list.md:更新 coordinates_1d_to_2d、split_d、slice_write、calc_buckets_limit_and_offset 的 op_host/op_kernel 标记 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4821 | 29 天前 | |
fix: correct typo Unsupport -> Unsupported in split_v/split_d/unpack AICPU logs Co-authored-by: Twoliges<202383290096@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !5233 merge fix/issue-2964 into master fix: correct typo Unsupport -> Unsupported in split_v/split_d/unpack AICPU logs Created-by: Twoliges Commit-by: Twoliges Merged-by: cann-robot Description: ## 描述 修复 split_v、split_d、unpack 三个算子的 AICPU 实现中 dtype 不支持日志的拼写错误:将 Unsupport 修正为 Unsupported。 ### 修改文件 - conversion/split_v/op_kernel_aicpu/split_v_aicpu.cpp:第 292 行 - conversion/split_d/op_kernel_aicpu/split_d_aicpu.cpp:第 205 行 - conversion/unpack/op_kernel_aicpu/unpack_aicpu.cpp:第 223 行 共 3 个文件,3 处修正。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2964 ## 测试 - [x] 代码审查:仅修改日志文案字符串,无逻辑变更 - [ ] 二级冒烟测试 - [ ] 算子泛化测试 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5233 | 21 天前 | |
补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !4821 merge dev into master 补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 本 PR 包含两部分改动: ### 1. 补充 4 个算子 rt2 infershape 实现 从 canndev 仓迁移 infershape 逻辑到 ops-math,包含 InferShape + InferDataType + InferShapeRange: - **coordinates_1d_to_2d**:rt1 改造为 rt2,3 个输出(row/col/n)的 shape+dtype+range 均来自输入 x - **split_d**:rt2 直接迁移,DYNAMIC_OUTPUT 按 split_dim/num_split 属性计算 shape+range - **slice_write**:rt1 改造为 rt2,输出 shape+dtype+range 来自输入 x,含 x/value dtype 一致性校验 - **calc_buckets_limit_and_offset**:rt1 改造为 rt2,2 个输出 shape+dtype 来自 bucket_list/ivf_offset - 同步迁移 UT 用例(共 8 个),改造为 InfershapeContextPara + ExecuteTestCase 格式 ### 2. 9 个算子常量折叠 HOSTCPU 改造 - CMakeLists.txt 加 HOSTCPU TRUE 参数 - 算子注册宏从 REGISTER_CPU_KERNEL 改为 OPS_MATH_REGISTER_CPU_KERNELV2 - 改造算子:calc_buckets_limit_and_offset、cast、coordinates_1d_to_2d、cumsum、lin_space、slice_write、split_v、topk、tile_with_axis - 编译产出 libopconstant_folding_math.so,strings 验证全部算子符号存在 ## 关联的Issue #2717 ## 测试 ### infershape UT 验证 - 执行 bash build.sh -u --ophost --soc=ascend910b --ops=<op_name> -j16 - 验证条件:exit code == 0 且日志含 [ PASSED ] N tests. - 8 个 UT 用例全部通过(含 dtype 不一致失败用例) ### 常量折叠编译验证 - 执行 bash build.sh --pkg --jit -j16 - 验证 libopconstant_folding_math.so 产出 - strings 验证 9 个算子符号均在 so 中 - RunCpuKernelV2 / GetCpuKernelV2 入口符号存在 ### 文档更新验证 - op_list.md 中 4 个算子 op_host 列 ×→√ - 2 个算子 op_kernel 列 ×→√(coordinates_1d_to_2d、slice_write) ## 文档更新 - docs/zh/op_list.md:更新 coordinates_1d_to_2d、split_d、slice_write、calc_buckets_limit_and_offset 的 op_host/op_kernel 标记 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4821 | 29 天前 | |
增加split_v算子aicpu实现 Co-authored-by: 苏俊伟<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !2275 merge dev into master 增加split_v算子aicpu实现 Created-by: sujunwei3 Commit-by: 苏俊伟 Merged-by: cann-robot Description: ## 描述 新增split_v、split_d算子的AI CPU kernel实现,扩展CANN算子库在AI CPU上的算子支持范围。 ## 关联的Issue #1444 ## 测试 根据代码变更,测试场景如下: 1. **算子构建测试** - 执行 cmake 配置和编译,验证 CMake 配置变更正确 2. **算子加载测试** - 验证 split_d.json 和 split_v.json 接口注册成功 3. **单元测试** - split_v UT: bash build.sh -u --opkernel_aicpu --ops=split_v --soc=ascend910b - split_d UT: bash build.sh -u --opkernel_aicpu --ops=split_d --soc=ascend910b 4. **GE IR验证** - 编包 → 装包 → 执行 GE IR用例流程通过 ## 文档更新 - 新增 conversion/split_d/README.md,说明split_d算子的设计文档 - docs/zh/op_list.md新增split_v, split_d aicpu算子支持说明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2275 | 4 个月前 | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 2 天前 |
SplitD
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
- 算子功能:将张量沿指定维度split_dim平均拆分为num_split份更小的张量。与Split算子不同,split_dim作为属性而非输入提供。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 需要切分的tensor。 | FLOAT16、FLOAT、DOUBLE、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、BOOL | ND |
| split_dim | 属性 | 指定沿其分割的维度。 | INT | - |
| num_split | 属性 | 指定要分割的tensor个数。 | INT | - |
| y | 输出 | 输出结果,动态输出,输出个数由num_split决定。 | FLOAT16、FLOAT、DOUBLE、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、BOOL | ND |
约束说明
- split_dim必须在[0, value维度数)范围内,若为负数则从末尾开始计数
- value在split_dim维度上的大小必须能被num_split整除
- num_split必须大于等于1
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式接口 | test_geir_split_d | 通过算子IR接口方式调用SplitD算子。 |