概述
提供PyTorch2.4.0/2.3.1/2.1.0版本原生API接口在昇腾设备上的支持情况与限制说明,以及Ascend Extension for PyTorch自定义API的接口原型、功能描述、参数说明与调用示例等。
PyTorch原生API接口使用方法请参考PyTorch Documentation。
Ascend Extension for PyTorch提供的自定义接口参考PyTorch社区公开接口规范:Public API definition and documentation,与官方提示一致。如果一个函数符合公开接口的标准且在文档中有展示,则该接口是公开接口。否则,该接口可能为意外暴露的非公开接口,这些接口将来可能会被修改或者删除,如一定要使用请在昇腾社区(https://gitee.com/ascend/pytorch/issues)提交issue获取帮助。
Ascend Extension for PyTorch使用monkey-patch方式实现PyTorch接口的适配,通过将Ascend Extension for PyTorch中的部分接口动态替换PyTorch中的接口实现对部分接口的支持,推荐用户使用文档中推荐的调用方式。
Ascend Extension for PyTorch项目采用C++和python联合开发,当前正式对外接口仅包括python接口,在torch_npu的二进制包中动态库不直接提供服务,暴露的C++接口为内部使用,不建议用户使用。
当前有部分接口会被标记为beta类接口。beta类接口属于实验性接口,部分场景下可能出现异常,请谨慎使用此类接口。我们致力于将beta类接口纳入稳定接口中,但完成之前仍有可能会根据需要进行改动,包括但不限于参数变更、名称变更和移除。