Ascend 310 → Ascend 310P 的应用迁移
昇腾AI全栈架构
昇腾AI 全栈可以分成四个大部分:
-
昇腾计算语言接口(AscendCL)
昇腾计算语言(Ascend Computing Language,AscendCL)接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装。它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API 库,供用户开发人工智能应用调用。 -
昇腾计算服务层
主要提供昇腾计算库,例如神经 络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI 框架适配器。 -
昇腾计算执行引擎
负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。 -
昇腾计算基础层
主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Memory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。
模型迁移
除了昇思MindSpore 外,TensorFlow 等其他深度学习框架下的模型并不能直接在昇腾910 AI 处理器上训练,为了使其充分利用昇腾910AI处理器的澎湃算力来提升训练性能,我们需要借助异构计算架构CANN 的Plugin适配层转换,使转换后的模型能够高效运行在昇腾910AI处理器上。
值得庆幸的是,目前,CANN 已经能够支持多种主流AI 框架,包括昇思MindSpore、TensorFlow、PyTorch、飞浆、ONNX 等,并且开发者只需要非常少的改动,即可快速搞定算法移植,大大减少切换平台的代价。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!