| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【bugfix】修复conversion算子example中调用示例 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !1020 merge example into master 【bugfix】修复conversion算子example中调用示例 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> coalesce_spars提供geir_example调用示例 diag_v2使用手写aclnn_diag接口,关闭自动生成的aclnn_diag_v2接口 feeds_repeat提供geir_example调用示例 stack_ball_query提供geir_example调用示例,修改infershape符合标准 transpose_v2使用transpose中手写aclnn_permute,关闭自动生成aclnn_transpose_v2接口,并提供对应算子的aclnn_example ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #593 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> example已经验证,可以使用 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1020 | 6 个月前 | |
init | 11 个月前 | |
refactor: 清理 conversion 系列算子日志拼写错误与代码格式 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !4793 merge f081701 into master refactor: 清理 conversion 系列算子日志拼写错误与代码格式 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 本次变更对 conversion 目录下多个算子(pad_v3 系列、pad_v3_grad 系列、transpose、transpose_v2)的日志输出与代码格式进行清理,不改变任何算子的功能行为、Tiling 计算逻辑与数据搬运流程。 ### 改动原因 - 算子日志中存在大量拼写错误(如 dimentions、dimention、Unsupport、shoulu、is not support 等),影响问题定位时日志的可读性与专业度; - 部分错误日志语句语法不通顺(如 Failed to core num.、on aicore situation、greater than 0 or equal 0),易造成歧义; - transpose_v2 的 transpose021_tiling.h / transpose102_tiling.h 中存在行尾空格、大括号风格不统一、指针星号位置不一致、OP_LOGD 中为对齐而填充的多余空格等问题; - pad_v3_grad_replication 的一条 INFO 日志为中文(两端 pad 区已超 UB),与仓库其余英文日志风格不一致。 ### 改动方法 1. **日志拼写/语法修正**(涉及 13 个文件): - dimentions → dimensions、dimention → dimension(aclnn_replication_pad1d/2d/3d.cpp、aclnn_pad2d_backward.cpp、aclnn_pad3d_backward.cpp); - Failed to core num. / Failed to ub size. / Failed to ub block size. / Failed to vector size. / Failed to cache line size. → 统一补全为 Failed to get ...(pad_v3_tiling_arch35.cpp); - Failed to core num. → Failed to get core num.(pad_v3_grad_replication_tiling.cpp 中同类语句); - is not a 3d scene → is not a 3D scene、The device is not support → The device does not support、does not support aicore → does not support AICore(padv3grad.cpp); - on aicore situation → in AICore situation、greater than 0 or equal 0 → greater than or equal to 0、less than 7 or equal 7 → less than or equal to 7(aclnn_pad2d_backward.cpp); - Permute not support → Permute does not support(aclnn_permute.cpp); - Set ... is failed! → Set ... failed!(transpose_tiling_with_021vconv_arch35.cpp、transpose_tiling_with_gather_arch35.cpp、transpose_tiling_with_nchwconv_arch35.cpp); - Unsupport type. / Unsupport shape. / Unsupport perm. → Unsupported ...(transpose021_tiling.h、transpose102_tiling.h、transpose_v2_tiling.cpp); - shoulu be greater than 2 → should be greater than 2(transpose021_tiling.h); - 中文 INFO 日志 两端 pad 区已超 UB → both pads exceed UB(pad_v3_grad_replication_tiling.cpp)。 2. **代码格式规整**(仅 transpose_v2 的 transpose021_tiling.h、transpose102_tiling.h): - 统一函数大括号风格为下一行起 {; - 指针声明 TilingContext *context → TilingContext* context; - 移除行尾空格与 OP_LOGD 中为对齐填充的多余空格; - 单行函数体(ComputeTilingKey、GetAlign)保持单行形式; - 命名空间闭合括号后补充 // namespace optiling 注释。 涉及算子:ReplicationPad1d/2d/3d、PadV3Grad、Pad2dBackward、Pad3dBackward、Permute、Transpose021/102/V2。所有改动均位于 op_api 与 op_host 层,未触碰 kernel 侧代码。 ## 关联的Issue - #2667 ## 测试 本次变更仅涉及日志字符串字面量与代码格式,不改变算子计算逻辑与 Tiling 行为,回归测试覆盖: - 二级冒烟:pad_v3 / pad_v3_grad / pad_v3_grad_replicate / pad_v3_grad_replication / transpose / transpose_v2 各算子泛化用例; - 日志核查:构造非法输入(如 2D tensor 输入 ReplicationPad1d、padding 超限、不支持 perm 等)触发错误日志,确认输出文本为新文案且语义正确; - transpose_v2 tiling 回归:在 Ascend910B / 910_93 上跑 021 / 102 两种 perm 的 shape 泛化,确认 Tiling 结果与改动前一致。 ## 文档更新 无。本次变更不涉及对外接口与文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码清理(日志拼写修正 + 代码格式规整) See merge request: cann/ops-math!4793 | 20 天前 | |
transposeV2和diagFlat在kernel侧传入的tilingData不变时增加传参__restrict__的修饰符 Co-authored-by: wy519<wangyang519@huawei.com> # message auto-generated for no-merge-commit merge: !1060 merge fix_math_issue into master transposeV2和diagFlat在kernel侧传入的tilingData不变时增加传参__restrict__的修饰符 Created-by: wy519 Commit-by: wy519 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> transposeV2和diagFlat在kernel侧传入的tilingData在后续未修改,之前使用了const修饰,为了进一步表示唯一性,增加__restrict__的修饰符 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/489 https://gitcode.com/cann/ops-math/issues/490 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 修改后测试功能性能正常 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1060 | 6 个月前 | |
change socversion to npuarch Co-authored-by: liulinxiang<liulinxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !1114 merge master22 into master change socversion to npuarch Created-by: liulinxiang Commit-by: liulinxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将代码里SocVersion::ASCEND950统一整改为使用npuarch ## 关联的Issue https://gitcode.com/cann/ops-math/issues/637 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 自测OK <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1114 | 6 个月前 | |
【bugfix】修复conversion算子example中调用示例 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !1020 merge example into master 【bugfix】修复conversion算子example中调用示例 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> coalesce_spars提供geir_example调用示例 diag_v2使用手写aclnn_diag接口,关闭自动生成的aclnn_diag_v2接口 feeds_repeat提供geir_example调用示例 stack_ball_query提供geir_example调用示例,修改infershape符合标准 transpose_v2使用transpose中手写aclnn_permute,关闭自动生成aclnn_transpose_v2接口,并提供对应算子的aclnn_example ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #593 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> example已经验证,可以使用 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1020 | 6 个月前 | |
冗余空格修复第4批 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !3321 merge master into master 冗余空格修复第4批 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量修改md中冗余空格 ## 关联的Issue [DOC_1962#冗余空格](https://gitcode.com/cann/ops-math/issues/1962) ## 测试 自验证 ## 文档更新 all md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3321 | 2 个月前 |
TransposeV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | × |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Kirin X90 处理器系列产品 | √ |
| Kirin 9030 处理器系列产品 | √ |
功能说明
- 算子功能:实现张量的维度置换(Permutation)操作,按照指定的顺序重新排列输入张量的维度。如输入self是shape为[2, 3, 5]的tensor,dims为(2, 0, 1),则输出是shape为[5, 2, 3]的tensor。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入张量 | 需要进行维度置换的输入张量。 | 见下方 | ND |
| dims | 输入数组 | 整型数组,代表原来tensor的维度,指定新的轴顺序。取值需在[-self的维度数量,self的维度数量-1]范围内。 | INT32、INT64 | - |
| out | 输出 | 维度最大不超过8维,shape由dims和原self的shape共同决定,dtype需要与self一致。 | 同self | ND |
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:数据类型支持FLOAT、FLOAT16、BFLOAT16。
- Kirin X90/Kirin 9030 处理器系列产品:数据类型支持FLOAT、FLOAT16。
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_transpose_v2 | 通过aclnnPermute接口方式调用transposeV2算子。 |