文件最后提交记录最后更新时间
doc tools 工具扫描问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1938 merge master into master doc tools 工具扫描问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc tools 工具扫描问题修改 See merge request: cann/ops-math!19382 个月前
950支持静态库功能检查与修正 Co-authored-by: sunwenlong<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !1872 merge static into master 950支持静态库功能检查与修正 Created-by: LuckySun Commit-by: sunwenlong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 950支持静态库功能检查与修正。 使用新的tiling模板注册接口。 修改examples中的数据类型,因为走AICORE时不支持double ## 关联的Issue [[Bug-Report|缺陷反馈]: 静态库执行算子样例时出现错误](https://gitcode.com/cann/ops-math/issues/1074) ## 测试 算子样例执行通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!18722 个月前
math类onnx算子插件支持 Co-authored-by: x00842564<xuyanke@huawei.com> Co-authored-by: weiyukun<weiyukun2@h-partners.com> # message auto-generated for no-merge-commit merge: !431 merge master into master math类onnx算子插件支持 Created-by: yanke-xu Commit-by: weiyukun;x00842564 Merged-by: cann-robot Description: ## 描述 onnx算子支持列表: 1. addcmul 2. ArgMax 3. ArgMin 4. Bernoulli 5. BitShift 6. Cast 7. Clip 8. Concat 9. ConcatFromSequence 10. Corr 11. CumSum 12. DeformableOffsets 13. DepthToSpace 14. Einsum 15. EyeLike 16. Flatten 17. IsInf 18. Max 19. Mean 20. Min 21. Mod 22. Multinomial 23. NPUDtypeCast 24. NPUFormatCast 25. NPUOneHot 26. NPURotaryMul 27. NPUSignBitsPack 28. NPUSignBitsUnpack 29. NPUSlice 30. OneHot 31. Pad 32. PhonyConcat 33. PhonySplit 34. RandomNormal 35. RandomNormalLike 36. RandomUniform 37. RandomUniformLike 38. ReduceL1 39. ReduceL2 40. ReduceLogSum 41. ReduceLogSumExp 42. ReduceMax 43. ReduceMean 44. ReduceMin 45. ReduceProd 46. ReduceSum 47. ReduceSumSquare 48. RepeatWithPad 49. Reshape 50. ReverseSequence 51. SequenceAt 52. SequenceConstruct 53. SequenceEmpty 54. SequenceErase 55. SequenceInsert 56. SequenceLength 57. Slice 58. SpaceToDepth 59. Split 60. SplitToSequence 61. Squeeze 62. Sum 63. Transpose 64. Trilu 65. Unsqueeze 66. Xor ## 关联的Issue None ## 测试 1、编译构建 2、静态检查 3、冒烟测试 4、本地功能验证 ## 文档更新 None ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4314 个月前
cast support complex32/complex64 Co-authored-by: 季骏<jijun1@huawei.com> # message auto-generated for no-merge-commit merge: !1064 merge master into master cast support complex32/complex64 Created-by: ji-jun1 Commit-by: 季骏 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Cast aicore support complex32 to complex64, complex64 to complex32 ## 关联的Issue [#881](https://gitcode.com/cann/ops-math/issues/881) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已通过ST测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了aclnnCast.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [X] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10642 个月前
fix: rm operator list ymal Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !2837 merge br_ci into master fix: rm operator list ymal Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 移除 CI 分组编译的强制校验 2. 清理 CMakeLists 中的调试打印 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1624 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!283712 天前
refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2969 merge feature/conversion-dedup into master refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下 60+ 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。 ### 改动原因 math 目录下各算子各自直接 #include tiling_base.h 和 tiling_templates_registry.h,且通过 using namespace Ops::Math::OpTiling 引入全局命名空间: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 专用注册宏已拆分到 math_tiling_templates_registry.h - using namespace 引入全局命名空间会导致符号冲突风险 ### 改动方法 1. 修正 math_tiling_templates_registry.h 中文件注释和拼写错误 2. 批量更新 math 算子文件的 #include: - tiling_base.h → tiling_base_class.h - tiling_templates_registry.h → math_tiling_templates_registry.h 3. 移除 using namespace Ops::Math::OpTiling,改用显式命名空间: - TilingBaseClass → Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() → Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1682 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!29695 天前
cast support complex32/complex64 Co-authored-by: 季骏<jijun1@huawei.com> # message auto-generated for no-merge-commit merge: !1064 merge master into master cast support complex32/complex64 Created-by: ji-jun1 Commit-by: 季骏 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Cast aicore support complex32 to complex64, complex64 to complex32 ## 关联的Issue [#881](https://gitcode.com/cann/ops-math/issues/881) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已通过ST测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了aclnnCast.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [X] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10642 个月前
fix(aicpu): correct op def config for math ops Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2876 merge opdeffix into master fix(aicpu): correct op def config for math ops Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 修正一批 math 仓 AICPU 算子的 op def 配置信息错误。 本次修改主要覆盖 opsFlag、subTypeOfInferShape、formatAgnostic 等配置项;其中与默认配置一致的场景,优先回收为默认值,减少冗余显式配置。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1633 ## 测试 完成静态检查与配置项比对,确认相关算子的 def 配置修改后符合预期。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!28767 天前
增加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!267718 天前
适配PG short_soc_version Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !2804 merge mc62 into master 适配PG short_soc_version Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配PG特性,将math仓 mc62cm12a/MC62CM12A 改成 mc62/MC62 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1732 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!28043 天前
doc Tools扫描错误修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1899 merge master into master doc Tools扫描错误修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描错误修改 See merge request: cann/ops-math!18992 个月前
README.md

Cast

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

将输入tensor转换为指定的dtype类型。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
self 输入 待进行cast计算的入参。 BOOL、FLOAT16、FLOAT、INT8、INT32、UINT32、UINT8、INT64、UINT64、INT16、UINT16、DOUBLE、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、BF16、UINT1、COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E1M2、FLOAT4_E2M1 ND
out 输出 待进行cast计算的出参。 BOOL、FLOAT16、FLOAT、INT8、INT32、UINT32、UINT8、INT64、UINT64、INT16、UINT16、DOUBLE、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、BF16、UINT1、COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E1M2、FLOAT4_E2M1 ND
  • Atlas 训练系列产品、Atlas 推理系列产品:不支持BFLOAT16。
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E2M1、FLOAT4_E1M2。

约束说明

  • 针对数据类型从浮点数转换为整型的场景: 输入数据中存在nan,则将nan转换为0。

  • 针对输入数据类型为BOOL、COMPLEX32、COMPLEX64、COMPLEX128、FLOAT4_E2M1、FLOAT4_E1M2的场景: 不支持输入为非连续。

  • Atlas 推理系列产品、Atlas 训练系列产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:

    • 针对数据类型从INT32转换为INT8的场景: 只能保证输入数据在(-2048, 1920)范围内精度无误差。
    • 针对数据类型从FLOAT64/COMPLEX64/COMPLEX128转换为UINT8的场景: 只能保证输入数据为非负数精度无误差。
  • Atlas 推理系列产品:

    • 针对数据类型从FLOAT32转换为INT64和FLOAT32转换为UINT8的场景: 只能保证输入数据在(-2147483648, 2147483583)范围内精度无误差。

    • 针对数据类型从INT64转换为FLOAT32的场景: 只能保证输入数据在(-2147483648, 2147483647)范围内精度无误差。

  • Ascend 950PR/Ascend 950DT:

    • 针对输入、输出类型,涉及COMPLEX32、COMPLEX64、FLOAT4_E2M1、FLOAT4_E1M2、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN的,只支持如下表格中的转换路径:

      self数据类型 out数据类型
      COMPLEX32 COMPLEX64
      COMPLEX64 COMPLEX32
      COMPLEX32 FLOAT16
      FLOAT16 COMPLEX32
      FLOAT32/BFLOAT16 COMPLEX64
      COMPLEX64 FLOAT32/BFLOAT16
      FLOAT32/FLOAT16/BFLOAT16 FLOAT4_E2M1/FLOAT4_E1M2
      FLOAT4_E2M1/FLOAT4_E1M2 FLOAT32/FLOAT16/BFLOAT16
      FLOAT32/FLOAT16/BFLOAT16 HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN
      HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN FLOAT32/FLOAT16/BFLOAT16
      HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN FLOAT4_E2M1/FLOAT4_E1M2
      FLOAT4_E2M1/FLOAT4_E1M2 HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_cast 通过aclnnCast接口方式调用Cast算子。
图模式调用 test_geir_cast 通过算子IR构图方式调用Cast算子。