已合并
新增 matrix_diag_part_v3 和 matrix_diag_v3 两个 AICPU 算子 #2408
Ding_Jing创建于 4月23日
新增 matrix_diag_part_v3 和 matrix_diag_v3 两个 AICPU 算子 #2408
已合并
Ding_Jing创建于 4月23日
Ding_Jing
Ding_Jing成员
4月23日

描述

新增 matrix_diag_part_v3matrix_diag_v3 两个 AICPU 算子,实现对矩阵对角线的提取和构造功能。

变更内容

  1. matrix_diag_part_v3: 提取矩阵的对角线元素

    • 新增算子原型定义 (op_graph)
    • 新增 AICPU kernel 实现
    • 新增单元测试
    • 新增示例代码
  2. matrix_diag_v3: 根据对角线元素构造矩阵

    • 新增算子原型定义 (op_graph)
    • 新增 AICPU kernel 实现
    • 新增单元测试
    • 新增示例代码
  3. 更新算子列表文档 (docs/zh/op_list.md)

关联的Issue

#1409

测试

根据代码变更,测试场景如下:

  1. 单元测试

    • matrix_diag_part_v3: tests/ut/op_kernel_aicpu/test_matrix_diag_part_v3.cpp
    • matrix_diag_v3: tests/ut/op_kernel_aicpu/test_matrix_diag_v3.cpp
    • 执行单元测试验证算子功能正确性
  2. 功能验证

    • 运行示例代码验证算子基本功能
    • matrix_diag_part_v3: examples/test_geir_matrix_diag_part_v3.cpp
    • matrix_diag_v3: examples/test_geir_matrix_diag_v3.cpp
[2026-04-29 12:50:50]   previous kernel: registered at ../aten/src/ATen/VmapModeRegistrations.cpp:37
[2026-04-29 12:50:50]        new kernel: registered at torch_npu/csrc/aten/RegisterNPU.cpp:18255 (function registerKernel)
[2026-04-29 12:50:52] 2026-04-29 12:50:52,000 - INFO - [XIR]: Output: [(9,-1), (9,-1), (1,2), (9,-1), (9,-1), (3,4)]
[2026-04-29 12:50:52] 2026-04-29 12:50:52,000 - INFO - [XIR]: MatrixDiagV3 example passed


[2026-04-29 12:51:25] 2026-04-29 12:51:25,000 - INFO - [XIR]: Output: [(1,1), (5,0), (9,-3)]
[2026-04-29 12:51:25] 2026-04-29 12:51:25,000 - INFO - [XIR]: MatrixDiagPartV3 example passed
[2026-04-29 12:51:27] run test_geir_matrix_diag_part_v3, execute samples success
  1. 编译构建测试
    • 验证 CMake 配置正确,算子能正确构建
    • 验证自定义算子包能正常安装

文档更新

  • 新增 conversion/matrix_diag_part_v3/README.md
  • 新增 conversion/matrix_diag_v3/README.md
  • 更新 docs/zh/op_list.md,添加新算子说明

类型标签

  • Bug修复
  • 新特性
  • 性能优化
  • 文档更新
  • 其他,请描述:
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 Ding_Jing 的贡献)
Ding_JingDing_Jing成员
4月23日 创建了 pull request,commit 688f2895
CANN-robot
CANN-robot成员
4月23日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
*/*/README.md 周文芳, 宋凯, 周奇龙 (3/2) 周文芳 (1/1)
*/*/op_graph/*_proto.h 汤磊, 周奇龙, 宋凯 (3/2) 汤磊 (1/1)
repo-cann/ops-math 宋凯, 周奇龙 (2/2) 宋凯, 周奇龙 (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

Ding_Jing, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robotCANN-robot成员
4月23日 添加了label:cann-cla/yes
CANN-robotCANN-robot成员
4月23日 将zhou-qilong,gitee-duhuiping,wangrui_,rxtfeng,loov1,zhangzijie,jia0liang,songkai111,gitcode-chenjiao,llimwang,gubaocheng设为评审人
CANN-robotCANN-robot成员
4月23日 将zhou-qilong,gitee-duhuiping,wangrui_,rxtfeng,loov1,zhangzijie,jia0liang,songkai111,gitcode-chenjiao,llimwang,gubaocheng设为审查人
此处折叠了225条消息 查看更多
CANN-robot
CANN-robot成员
4月29日 评论:

The following users do not have permission to comment /lgtm or /approve on any module in this PR:
刘伟, ZhaiPeiChao

likedislike
CANN-robotCANN-robot成员
4月29日 添加了label:approved
CANN-robot
CANN-robot成员
4月29日 评论:

Review Guide

This pull-request passes review.
Committers who wrote a comment of /approve are: 宋凯, 周奇龙, 周文芳, 汤磊.
Reviewers who wrote a comment of /lgtm are: 宋凯, 周奇龙, 周文芳, 汤磊.

likedislike
CANN-robotCANN-robot成员
4月29日 关闭了关联的issue
CANN-robotCANN-robot成员
4月29日 合入了pull request