| Files | Last commit | Last update |
|---|---|---|
docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6596 merge docs/comment-cleanup-20261022-01 into master docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题,仅修改注释,不涉及业务逻辑、接口行为或配置默认值。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_large_c.h:\file 注释由 batch_to_space_largec.h 修正为 batch_to_space_nd_large_c.h。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_small_c.h:\file 注释由 batch_to_space_smallc.h 修正为 batch_to_space_nd_small_c.h。 - conversion/broadcast_to/examples/test_geir_broadcast_to.cpp:\file 注释由 test_geir_add.cpp 修正为 test_geir_broadcast_to.cpp。 - conversion/chunk_cat/op_api/aclnn_chunk_cat.cpp:\file 注释由 aclnn_cat.cpp 修正为 aclnn_chunk_cat.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3816 ## 测试 - [x] git diff --check(CRLF-aware)通过 - [x] 本地 OAT 合规检查通过(含本 PR 文件的 203 文件批次) - [x] git clang-format --diff 对本次修改行无建议 - [x] Markdown 链接/锚点/围栏检查通过(本 PR 不涉及 Markdown) - [ ] 编译/UT 未运行:仅注释变更,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次仅修正上述源文件的注释。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6596 | 20 days ago | |
迁移开源TF插件--conversion Co-authored-by: nextyale<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4310 merge transfer-conversion into master 迁移开源TF插件--conversion Created-by: nextyale Commit-by: nextyale Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4310 | 2 months ago | |
feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6365 merge master-v121 into master feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 BroadcastTo 算子新增 ascend960 平台支持,并扩展 FP4/HIFLOAT4 数据类型支持。具体改动如下: - conversion/broadcast_to/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend960 编译单元。 - op_host/broadcast_to_def.cpp:为 ascend960 注册 AICore 配置;xDType 新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_api/broadcast_to.cpp:新增 ASCEND960dt_AICORE_DTYPE_SUPPORT_LIST(含 FP4 类型),并针对 DAV_9201/DAV_9202(ascend960dt)架构进行数据类型校验。 - op_graph/broadcast_to_proto.h:x/y 输入输出类型注册新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_host/arch35/broadcast_to_tiling_base.cpp/h:FP4 输入时校验最后一维为偶数,并将最后一维除以 2;FP4 的 dtypeSize 按 DT_INT8 计算。 - op_host/config/ascend960dt/broadcast_to_binary.json:新增 4bit hifloat4 的 int32/int64 bin 配置。 - 新增 op_host/config/ascend960pr/broadcast_to_binary.json 与 broadcast_to_simplified_key.ini:ascend960平台二进制配置。 - README.md:更新支持的数据类型说明。 - math/tile/op_host/tile_infershape.cpp:修复 multiples 索引错误(multiples_data[i] → multiples_data[multiples_index])。 ## 关联的Issue - #3766 ## 测试 已通过算子泛化及冒烟验证(由 CI 覆盖)。 ## 文档更新 - conversion/broadcast_to/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6365 | 21 days ago | |
feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6365 merge master-v121 into master feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 BroadcastTo 算子新增 ascend960 平台支持,并扩展 FP4/HIFLOAT4 数据类型支持。具体改动如下: - conversion/broadcast_to/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend960 编译单元。 - op_host/broadcast_to_def.cpp:为 ascend960 注册 AICore 配置;xDType 新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_api/broadcast_to.cpp:新增 ASCEND960dt_AICORE_DTYPE_SUPPORT_LIST(含 FP4 类型),并针对 DAV_9201/DAV_9202(ascend960dt)架构进行数据类型校验。 - op_graph/broadcast_to_proto.h:x/y 输入输出类型注册新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_host/arch35/broadcast_to_tiling_base.cpp/h:FP4 输入时校验最后一维为偶数,并将最后一维除以 2;FP4 的 dtypeSize 按 DT_INT8 计算。 - op_host/config/ascend960dt/broadcast_to_binary.json:新增 4bit hifloat4 的 int32/int64 bin 配置。 - 新增 op_host/config/ascend960pr/broadcast_to_binary.json 与 broadcast_to_simplified_key.ini:ascend960平台二进制配置。 - README.md:更新支持的数据类型说明。 - math/tile/op_host/tile_infershape.cpp:修复 multiples 索引错误(multiples_data[i] → multiples_data[multiples_index])。 ## 关联的Issue - #3766 ## 测试 已通过算子泛化及冒烟验证(由 CI 覆盖)。 ## 文档更新 - conversion/broadcast_to/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6365 | 21 days ago | |
feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6365 merge master-v121 into master feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 BroadcastTo 算子新增 ascend960 平台支持,并扩展 FP4/HIFLOAT4 数据类型支持。具体改动如下: - conversion/broadcast_to/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend960 编译单元。 - op_host/broadcast_to_def.cpp:为 ascend960 注册 AICore 配置;xDType 新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_api/broadcast_to.cpp:新增 ASCEND960dt_AICORE_DTYPE_SUPPORT_LIST(含 FP4 类型),并针对 DAV_9201/DAV_9202(ascend960dt)架构进行数据类型校验。 - op_graph/broadcast_to_proto.h:x/y 输入输出类型注册新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_host/arch35/broadcast_to_tiling_base.cpp/h:FP4 输入时校验最后一维为偶数,并将最后一维除以 2;FP4 的 dtypeSize 按 DT_INT8 计算。 - op_host/config/ascend960dt/broadcast_to_binary.json:新增 4bit hifloat4 的 int32/int64 bin 配置。 - 新增 op_host/config/ascend960pr/broadcast_to_binary.json 与 broadcast_to_simplified_key.ini:ascend960平台二进制配置。 - README.md:更新支持的数据类型说明。 - math/tile/op_host/tile_infershape.cpp:修复 multiples 索引错误(multiples_data[i] → multiples_data[multiples_index])。 ## 关联的Issue - #3766 ## 测试 已通过算子泛化及冒烟验证(由 CI 覆盖)。 ## 文档更新 - conversion/broadcast_to/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6365 | 21 days ago | |
fix(broadcast_to,pad_v3): TILING_KEY_IS 内联函数补充 static 关键字 Co-authored-by: guyunlong1<guyunlong1@huawei.com> # message auto-generated for no-merge-commit merge: !6308 merge fix/issue-3548-tiling-key-inline-static-20261013-143632-P0800 into master fix(broadcast_to,pad_v3): TILING_KEY_IS 内联函数补充 static 关键字 Created-by: guyunlong1 Commit-by: guyunlong1 Merged-by: cann-robot Description: ## 描述 kernel 编码中,使用 TILING_KEY_IS 宏的内联函数依赖编译单元内的 tiling key 状态,缺少 static(内部链接)时,-g -O0 场景下可能进入错误的内联函数实现,导致精度问题。 本 PR 为以下两处使用 TILING_KEY_IS 宏的内联函数声明添加 static 关键字: 1. conversion/broadcast_to/op_kernel/arch35/broadcast_to.h:broadcast_to_impl 由 __aicore__ void inline 改为 static __aicore__ inline 2. conversion/pad_v3/op_kernel/arch35/pad_slice.h:RunPadSliceProcess 由 __aicore__ inline 改为 static __aicore__ inline 经扫描,#if TILING_KEY_VAR 形态当前全仓无命中;broadcast_to、pad_v3 两个算子目录内无其他同类遗漏。 ## 关联的Issue Closes https://gitcode.com/cann/ops-math/issues/3548 ## 测试 - bash build.sh --opkernel --soc=ascend950 --ops=broadcast_to,pad_v3 编译通过(Build binary success),BroadcastTo、PadV3 内核正常生成。 - 纯函数声明添加 static 关键字,不改变函数实现与调用方式,算子功能与精度不受影响。 ## 文档更新 - 无 ## 类型标签 - [x] Bug修复 See merge request: cann/ops-math!6308 | 28 days ago | |
fix broadcast_to golden Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !5391 merge broadcastto into master fix broadcast_to golden Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 优化 conversion/broadcast_to/tests/assets/golden.py 中 golden 函数的实现,解决 E2E 性能测试中 input shape 与 target shape 相同时无法测到真实 GPU 数据搬运的问题。 **问题原因**:torch.broadcast_to 当 input shape == target shape 时返回视图(view),不复制数据;.contiguous() 检查 tensor 已连续后直接返回自身,零拷贝。导致性能循环内 0 个 GPU kernel,测到的时间全是 Python 调度开销,无法获得真实性能基线。 **修改方法**:提取公共辅助函数 _broadcast_result,当 x.shape == target_shape(无广播维度、零拷贝场景)时额外调用 .clone() 强制触发真实数据拷贝;有广播维度时保持原实现(contiguous() 本身就会触发 copy kernel,测纯广播性能)。 **结果影响**:输出数值不变(clone 只复制数据),精度比对(binary_equal)不受影响。 ## 关联的Issue 无 ## 测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5391 | 1 month ago | |
feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6365 merge master-v121 into master feat: BroadcastTo算子新增ascend960平台支持及HIFLOAT4数据类型 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 BroadcastTo 算子新增 ascend960 平台支持,并扩展 FP4/HIFLOAT4 数据类型支持。具体改动如下: - conversion/broadcast_to/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend960 编译单元。 - op_host/broadcast_to_def.cpp:为 ascend960 注册 AICore 配置;xDType 新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_api/broadcast_to.cpp:新增 ASCEND960dt_AICORE_DTYPE_SUPPORT_LIST(含 FP4 类型),并针对 DAV_9201/DAV_9202(ascend960dt)架构进行数据类型校验。 - op_graph/broadcast_to_proto.h:x/y 输入输出类型注册新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2、DT_HIFLOAT4、DT_HIFLOAT4_SCALE。 - op_host/arch35/broadcast_to_tiling_base.cpp/h:FP4 输入时校验最后一维为偶数,并将最后一维除以 2;FP4 的 dtypeSize 按 DT_INT8 计算。 - op_host/config/ascend960dt/broadcast_to_binary.json:新增 4bit hifloat4 的 int32/int64 bin 配置。 - 新增 op_host/config/ascend960pr/broadcast_to_binary.json 与 broadcast_to_simplified_key.ini:ascend960平台二进制配置。 - README.md:更新支持的数据类型说明。 - math/tile/op_host/tile_infershape.cpp:修复 multiples 索引错误(multiples_data[i] → multiples_data[multiples_index])。 ## 关联的Issue - #3766 ## 测试 已通过算子泛化及冒烟验证(由 CI 覆盖)。 ## 文档更新 - conversion/broadcast_to/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6365 | 21 days ago | |
modify aclnn_sinc errorcode and BroadcastTo README Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6159 merge master-sinc into master modify aclnn_sinc errorcode and BroadcastTo README Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 本PR为两处文档修改,不涉及代码逻辑: ### 1. 修改 aclnn_sinc.cpp错误码 - **错误码/返回码说明整改**:统一规范 aclnnStatus 返回状态码说明,正确引用 [aclnn返回码] 上下文文档(aclnn_return_code.md),覆盖 aclnnSincGetWorkspaceSize / aclnnSinc / aclnnInplaceSincGetWorkspaceSize / aclnnInplaceSinc 全部两段式接口 ### 2. 修改 BroadcastTo README(支持的数据类型与算子定义对齐) conversion/broadcast_to/README.md - x 支持的数据类型与 op_host/broadcast_to_def.cpp 中 xDType 注册列表对齐: - 删除 def 中**未注册**的类型:DOUBLE、UINT16、UINT64、COMPLEX32、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、STRING - 保留 def 实际注册的 13 种:INT8、INT16、INT32、INT64、UINT8、UINT32、FLOAT16、BF16、FLOAT、BOOL、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN ## 关联的Issue (https://gitcode.com/cann/ops-math/issues/3359) ## 测试 - 纯文档变更,不涉及代码逻辑,无需新增测试用例 - 已自查文档内相对路径链接可达(两段式接口/非连续Tensor/数据格式/数据类型推导/aclnn返回码等上下文文档) - markdownlint 通过 ## 文档更新 - [x] conversion/broadcast_to/README.md ## 类型标签 - [x] 文档更新 See merge request: cann/ops-math!6159 | 1 month ago |
BroadcastTo
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
- 算子功能:将输入tensor广播到指定的shape。如输入tensor的shape为(1, 4),指定的shape为(2, 4),则输出是shape为(2, 4)的tensor。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入张量 | 需要被广播的张量。 | INT8、INT16、INT32、INT64、UINT8、UINT32、FLOAT16、BF16、FLOAT、BOOL、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN | ND |
| shape | 输入张量 | 表示x广播后的shape大小。 | INT64、INT32 | - |
| y | 输出 | 维度最大不超过8维,shape由shape输入决定,dtype需要与x一致。 | 同x | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_broadcast_to | 通过算子IR构图方式调用broadcast_to算子。 |