【2023 · CANN训练营第一季】- 昇腾AI入门课(TensorFlow)第一章 昇腾AI基础知识介绍 学习笔记

举报
Heartt 发表于 2023/05/16 07:40:47 2023/05/16
【摘要】 一、学习目标1.CANN在昇腾AI全栈架构中的位置和作用。2.了解基于CANN的应用开发编程框架、基本概念。二、昇腾AI全栈架构昇腾AI全栈分为四个部分:1.应用使能层面:此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。2.Al框架层面:此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、Pytorch等。3.异构计算架构:偏底...

一、学习目标

1.CANN在昇腾AI全栈架构中的位置和作用。

2.了解基于CANN的应用开发编程框架、基本概念。


二、昇腾AI全架构

昇腾AI全栈分为四个部分:

1.应用使能层面:此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。

2.Al框架层面:此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、Pytorch等。

3.异构计算架构:偏底层、偏通用的计算框架,用于针对上层Al框架的调用进行加速,力求向上支持多种Al框架,并在硬件上进行加速。

4.计算硬件:本层是AI计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。昇腾系列AI处理器:Ascend 310用于推理场景,Ascend 910用于训练场景。


三、异构计算架构CANN

1.昇腾计算语言接口

昇腾计算语言(Ascend Computing Language,AscendCL)接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装。它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API库,供用户开发人工智能应用调用。

2.昇腾计算服务层

本层主要提供昇腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及Al框架适配器。

3.昇腾计算编译引擎

本层主要提供图编译器(Graph Compiler)和TBE(Tensor Boost Engine)算子开发支持。前者将用户输入中间表达(Intermediate Representation,IR)的计算图编译成NPU运行的模型。后者提供用户开发自定义算子所需的工具。

4.昇腾计算执行引擎

本层负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。

5.昇腾计算基础层

本层主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Memory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。


四、腾计算语言接口AscendCL

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

AscendCL的优势如下:

1.高度抽象:算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少APl数量,降低复杂度。

2.向后兼容:AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。

3.零感知芯片:一套AscendCL接口可以实现应用代码统一,多款昇腾处理器无差异。


AscendCL的主要应用场景如下:

1.开发应用:用户可以直接调用AscendCL提供的接口开发图片分类应用、目标识别应用等。

2.供第三方框架调用:用户可以通过第三方框架调用AscendCL接口,以便使用昇腾Al处理器的计算能力。

3.供第三方开发lib库:用户还可以使用AscendCL封装实现第三方lib库,以便提供异腾Al处理器的运行管理、资源管理等能力。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。