文档首页 > > 算子开发指南> 简介

简介

分享
更新时间:2020/11/10 GMT+08:00

概述

本文用于指导开发者在PyTorch源码框架下,适配调用Ascend TBE算子,以实现PyTorch框架在Ascend 系列训练设备上的运行(暂不支持推理设备)。

读者对象

本文适用于Ascend TBE算子的开发人员。

开发者除编程语言知识外,应对如下基础知识有一定的了解和熟悉:

  • Ascend TBE算子开发基础;
  • PyTorch源码框架。

方案特性及优点

昇腾AI处理器的加速实现方式是以各种算子为粒度进行调用(OP-based),即通过AscendCL调用一个或几个D亲和算子组合的形式,代替原有GPU的实现方式。其逻辑模型如图1所示。

图1 逻辑模型

当前选择在线对接适配方案的主要原因有一下几点:

  1. 最大限度的继承PyTorch框架动态图的特性。
  2. 最大限度的继承GPU在PyTorch上的使用方式,可以使用户在移植到昇腾AI处理器设备上时,在开发方式和代码重用方面做到最小的改动。
  3. 最大限度的继承PyTorch原生的体系结构,保留框架本身出色的特性,比如自动微分、动态分发、Debug、Profiling、Storage共享机制以及设备侧的动态内存管理等。
  4. 扩展性好。在打通流程的通路之上,对于新增的网络类型或结构,只需涉及相关计算类算子的开发和实现。框架类算子,反向图建立和实现机制等结构可保持复用。
  5. 与GPU的使用方式和风格保持一致。用户在使用在线对接方案时,只需在Python侧和Device相关操作中,指定device为昇腾AI处理器,即可完成用昇腾AI处理器在PyTorch对网络的开发、训练以及调试,用户无需额外进一步关注昇腾AI处理器具体的底层细节。这样可以确保用户的最小化修改及完成平台迁移,迁移成本较低。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问