本文档基于C++ extensions方式,使用torch_npu单算子API进行适配开发的完整流程。流程涵盖了算子定义、算子适配、ATen IR注册绑定,最终实现调用自定义算子。
在开始之前,请确保您已完成以下环境的安装。
[object Object]
在算子适配层c++代码目录(csrc)中,通过
[object Object]文件完成C++侧的算子代码适配、注册自定义算子schema及具体实现的绑定。PyTorch提供的TORCH_LIBRARY宏用于定义唯一命名空间(该命名空间的名称必须保证全局唯一性),并在该命名空间中注册算子schema。具体示例如下:[object Object]
[object Object]在
[object Object]目录下的[object Object]及[object Object]文件中,添加ops调用及读取so文件,具体示例如下:[object Object]
完成了算子适配开发后,即可通过C++ extensions的方式调用自定义算子。