基于C++ extensions方式,通过torch_npu来调用单算子API的适配开发过程,其中前反向绑定通过Python类的[object Object]和[object Object]注册实现。
在开始之前,请确保您已完成以下环境的安装。
[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]在测试脚本
[object Object]中实现前反向绑定,可通过Python中的[object Object]和[object Object]定义算子的前向计算与反向梯度计算逻辑。具体示例如下:[object Object]
完成了算子适配开发后,即可通过C++ extensions的方式调用自定义算子。