【2023 · CANN训练营第一季】晟腾AI入门课(TensorFlow)第一章 晟腾AI基础知识介绍

文章介绍了华为的晟腾AI全栈架构,包括应用使能、AI框架、异构计算架构和计算硬件四大部分。CANN作为异构计算架构,提供编程接口以支持快速开发基于昇腾AI处理器的应用。AscendCL是晟腾计算语言接口,简化了API调用,实现了对底层计算服务的封装,支持深度学习推理、图像处理等功能,具有高度抽象、向后兼容和跨芯片一致性等优势。
摘要由CSDN通过智能技术生成

本章学习目标

  • 了解CANN在晟腾AI全栈架构中的位置和作用。
  • 了解基于CANN的应用开发编程框架、基本概念。

晟腾AI全栈架构

晟腾AI全栈可以分差四个大部分:

  • 应用使能层面,此层面通常包含用于部署模型的硬件,例如API、SDK、部署平台,模型库等。
  • AI框架层面,此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、PyTorch等。
  • 异构计算架构,偏底层、偏通用的计算框架,用于针对上层AI框架的调用进行加速,力求向上支持多种AI框架,并在硬件上进行加速。
  • 计算硬件,本层是AI计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。
    在这里插入图片描述

异构计算架构CANN

华为公司面向计算机视觉、自然语言处理、推荐系统、类机器人等领域量身打造了基于“达芬奇(DaVinci)”架构的晟腾(Ascend)AI处理器,开启了智能之旅。为提升用户开发效率和释放晟腾AI处理器澎湃算力,同步推出针对AI场景的异构计算架构CANN(Compute Architecture for Neural Networks),CANN通过提供多层次的编程接口,以全场景、低门槛、高性能的优势,支持用户快速构建基于Ascend平台的AI应用和业务。
晟腾AI异构计算架构(Compute Architecture for Neural Networks,CANN)被抽象成五层架构,如下图所示。
在这里插入图片描述
在这里插入图片描述

  • 晟腾计算语音接口
    晟腾计算语音(Ascend Computing Language,AscendCL)接口是晟腾计算开放编程框架,是对底层晟腾计算服务接口的封装。它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模块加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API库,供用户开发人工智能应用调用。
  • 晟腾计算服务层
    本层主要提供晟腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;晟腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI框架适配器。
  • 晟腾计算编译引擎
    本层主要提供图编译器(Graph Compiler)和TBE(Tensor Boost Engine)算子开发支持。前者将用户输入中间表达(Intermediate Representation,IR)的计算图编译成NPU运行的模型。后者提供用户开发自定义算子所需的工具。
  • 晟腾计算执行引擎
    本层负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。
  • 晟腾计算基础层
    本层主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Menmory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。

晟腾计算语言接口AscendCL

AscendCL(Ascend Computing Language,晟腾计算语言)是晟腾计算开发编程框架,是对底层晟腾计算服务接口的封装,它提供运行时的资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据解编码/裁剪/缩放处理等API库,实现在晟腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用。
在这里插入图片描述

AscendCL的优势如下:

  • 高度抽象;算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少API数量,降低复杂度。
  • 向后兼容:AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
  • 零感知芯片:一套AscendCL接口可以实现应用代码统一,多款晟腾处理器无差异。

AscendCL的主要应用场景如下:

  • 开发应用:用户可以直接调用AscendCL提供的接口开发图片分类应用、目标识别应用等。
  • 供第三方框架调用:用户可以通过第三方框架调用AscendCL接口,以便使用晟腾AI处理器的计算呢能力。
  • 供第三方开发lib库:用户还可以使用AscendCL封装实现第三方lib库,以便提供晟腾AI处理器的运行管理、资源管理等能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星火飞花

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值