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

news/2025/1/11 20:05:01/

一、昇腾AI全栈架构

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

异构计算架构CANN

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

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

昇腾计算语言接口AscendCL

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

在这里插入图片描述
AscendCL的优势如下
1.高度抽象: 算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少API数量,降低复杂度
2.向后兼容: AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
3.零感知芯片: 一套AscendCL接口可以实现应用代码统一,多款异腾处理器无差异。
AscendCL的主要应用场景如下:
1.开发应用: 用户可以直接调用AscendCL提供的接口开发图片分类应用、目标识别应用等
2.供第三方框架调用: 用户可以通过第三方框架调用AscendCL接口,以便使用异腾AI处理器的计算能力。
3.供第三方开发lib库: 用户还可以使用AscendCL封装实现第三方lib库,以便提供异腾AI处理器的运行管理、资源管理等能力。

章节小测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/83656.html

相关文章

DCA驱动框架

DCA驱动框架在Linux驱动目录dca下。 完整DCA驱动有三部分组成: 1)DCA驱动框架; 这部分是Linux驱动服务层内容。提供者和请求者通过DCA驱动框架关联到一起,进行工作。 2)提供DCA服务的设备驱动框架; 申请…

Linux内核源码中的双链表结构(笔记)

双向链表是Linux中非常重要和基础的一个数据结构,它在Linux内核中是一个基本类型 Linux内核中的链表 一个常见的双向链表可以被定义为 struct my_list{void *mydata;struct my_list *next;Cstruct my_list *prev; };不同的使用方法会构造出不同的数据结构 先进先…

不会写代码也能做自动化?推荐一款自动化测试神器

在软件测试这条道路上,大部分的职业技能发展道路都会是纯业务手工测试→自动化测试→性能测试→安全测试/测试开发。 但是却有着一部分人起初进入软件测试这一行看重的就是软件测试属于IT行业,门槛比较低,不需要代码基础。 这就导致了这一部…

从零搭建Jenkins并自动发布Java项目

公众号请关注"果酱桑", 一起学习,一起进步! 目录 准备工作 安装Jenkins 配置Jenkins 配置Maven 配置Git 配置Tomcat 创建Jenkins Job 构建并部署应用程序 总结 Jenkins是一款流行的开源CI/CD工具,它可以帮助我们自动化构建、测试和部署我们的应用…

技术干货 | 在 PostgreSQL 中设置查询超时

在 Navicat Monitor 3 监控工具中的查询分析器画面顶部,我们设置了一个图表,用以显示等待时间最长的查询: 能够标识出滞后的查询非常重要,因为它们可以让一切陷入瘫痪。 除了在标识出慢速查询并对其进行修复外,另一种…

湍流的数值模拟方法概述

湍流,又称紊流,是一种极其复杂、极不规则、极不稳定的三维流动。湍流场内充满着尺度大小不同的旋涡,大旋涡尺度可以与整个流畅区域相当,而小漩涡尺度往往只有流场尺度千分之一的数量级,最小尺度旋涡的尺度通过其耗散掉…

Matlab论文插图绘制模板第94期—带置信区间的折线散点图

在之前的文章中,分享了很多Matlab带置信区间的折线图的绘制模板: 进一步,再来分享一下带置信区间的折线散点图的绘制模板。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友…

day06 Spring AOP

DI注解 **作用:**解决使用xml配置繁琐的问题 该注解和使用配置文件一样分成两类进行注入:字段注入或属性注入,注入bean(取代xml中的ref) 1.value注解 使用value注解给属性进行赋值,只能使用于八大基本类型和常量类型/String/Integer… value("小小") private St…