已关闭
[Usage]: 如何查看算子源码以及完成自定义算子 #1525
Viegar创建于  1月27日关闭于  7月4日
Viegar
Viegar
1月27日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

环境信息

产品型号:Atlas A3 系列

操作系统:Linux ARM

镜像版本:cann:8.3.rc1-a3-openeuler24.03-py3.11

驱动版本:Ascend HDK 25.3.X

使用场景及问题

您好,我们希望自己完善一些算子以满足我的计算需求,以下以torch_npu.npu_grouped_matmul()为例,
具体而言,我们想知道如何找到torch_npu.npu_grouped_matmul() python接口对应的底层算子调用部分(是否有一个对应的C++的实现),如何把输入转换为底层ascend算子的需要,以及如何组织ascend算子完成计算并把输出返回? 另外,如果有必要的话,我们还想查看底层调用的ascend算子是在哪里实现的,以及具体的源码是什么?
谢谢。

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
ascend-robotascend-robot成员
1月27日 添加了label:usage
Viegar
Viegar
1月31日 评论:

@kuhn7谢谢,我按照https://www.hiascend.com/document/detail/zh/Pytorch/730/ptmoddevg/Frameworkfeatures/docs/zh/framework_feature_guide_pytorch/adaptation_description_opplugin.md和https://github.com/Ascend/pytorch相关仓库进行搜索和查找,只能找到接口信息介绍,找不到相关的python和C++源码部分,请问能否提供算子的对应源码实现仓库,例如https://www.hiascend.com/document/detail/zh/Pytorch/730/apiref/torchnpuCustomsapi/docs/context/torch_npu-profiler_list.md这个list的算子源码的python和C++实现如何能找到? 感谢。

likedislike
kuhn7成员
3月9日 评论:

@gcw_sD6xT9n0 算子在torch_npu适配相关代码见 https://gitcode.com/Ascend/op-plugin

likedislike
lcf2610
lcf2610
3月23日 评论:

+1,我在mindie_llm中看到了torch_npu.npu_grouped_matmul()这个算子被调用,到底该如何在Ascend/pytorch这个仓中找到调用入口在哪呢?后续是怎么调到真正的算子实现呢?

likedislike
huangyunlong成员
4月10日 评论:

算子实现在 https://gitcode.com/Ascend/op-plugin ,作为Ascend/pytorch的third_party下的submodule存在。如果需要在Ascend/pytorch仓库下查找算子实现,需要把三方库代码拉下来,可以通过 git submodule update --init --recursive 更新submodule

likedislike
chenrayray
chenrayray成员
7月4日 评论:

您好,本Issue因长期无有效互动,现暂时关闭。如问题依然存在,请重新打开并提供最新复现信息,我们会继续跟进。感谢理解!

likedislike
chenrayraychenrayray成员
7月4日 issue状态由 TODO 改变为 DONE
chenrayraychenrayray成员
7月4日 关闭了 issue
ascend-robotascend-robot成员
7月4日 添加了label:resolved