| Files | Last commit | Last update |
|---|---|---|
splitd算子inferdatatype只推导首个动态输出,补齐多输出场景的dtype推导 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !6775 merge fix/splitd-infer-datatype into master splitd算子inferdatatype只推导首个动态输出,补齐多输出场景的dtype推导 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 SplitD 算子 RT2 infershape 的 InferDataType4SplitD 回调原先只调用 SetOutputDataType(0, xDtype),仅推导第一个动态输出实例的 dtype。y 为 DYNAMIC_OUTPUT,当 num_split > 1 时其余输出实例的 dtype 不会被推导,在纯 RT2(无 RT1 infershape)调用路径下会造成同一算子多个输出类型不一致。 修复方式:参照 Split/SplitV 已有的同类修复,通过 GetComputeNodeOutputNum() 遍历所有动态输出实例,逐个设置输入 dtype;并补充直接调用 infer_datatype 的多输出 UT 防止回归。 ## 关联的Issue #4183 ## 测试 1. **单元测试**(bash build.sh -u --ophost --ops=split_d --soc=ascend910b) - 新增 split_d_infer_datatype_bf16_multi_output:BF16 输入、num_split=2,断言两个输出均为 DT_BF16; - 新增 split_d_infer_datatype_float_multi_output:FLOAT 输入、num_split=3,断言三个输出均为 DT_FLOAT; - UT 采用 OpInferDataTypeContextBuilder 直接调用 infer_datatype,输出槽初始化为 DT_MAX 哨兵值,未推导的输出会立即断言失败。 2. **反向验证** - 临时恢复旧的单输出实现后,两个新用例 FAILED,证明 UT 能捕获旧缺陷;恢复修复后 5 个用例全部 PASSED。 3. **回归** - 原 3 个 infershape UT 用例(正/负 split_dim、整除性校验)无回归。 ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6775 | 17 days ago | |
增加slice_write/lin_space/cast算子aicpu实现 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !2677 merge dev into master 增加slice_write/lin_space/cast算子aicpu实现 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 新增 slice_write、lin_space、cast 三个算子的 AICPU 实现。 主要变更: - **slice_write 算子**: 新增 AICPU 实现,支持多维切片写入操作 - **lin_space 算子**: 新增 AICPU 实现,生成线性序列 - **cast 算子**: 新增 AICPU 实现,支持多种数据类型转换 - **split_d/split_v 算子**: 移除 json 配置文件,统一使用 *_aicpu_def.cpp 定义算子原型 ## 关联的Issue #1554 ## 测试 根据代码变更,测试场景如下: 1. **slice_write 算子测试** - 执行 slice_write AICPU 算子单元测试 - 验证多维切片写入功能正确性 - 边界条件测试 2. **lin_space 算子测试** - 执行 lin_space AICPU 算子单元测试 - 验证线性序列生成功能正确性 - 不同数据类型测试 3. **cast 算子测试** - 执行 cast AICPU 算子单元测试 - 验证数据类型转换功能正确性 - 各数据类型组合测试 4. **split_d/split_v 算子测试** - 验证移除 json 配置后算子仍正常工作 - 执行原有单元测试验证功能不变 5. **编译构建测试** - 执行 cmake 配置和编译,验证新增算子正确构建 - 验证 aicpu_kernels.so 正常链接 ## 文档更新 - 新增 conversion/slice_write/README.md,描述 slice_write 算子使用方法 - 新增各算子单元测试文件 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2677 | 5 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 17 days ago | ||
| 5 months ago |