0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

昇腾AI框架全栈深度介绍

智能计算芯世界 来源:智能计算芯世界 2023-10-22 16:19 次阅读

不同于传统的支持通用计算的CPUGPU,也不同于专用于某种特定算法的专用芯片ASIC,达芬奇架构本质上是为了适应某个特定领域中的常见的应用和算法,通常称之为“特定域架构(Domain Specific Architecture,DSA)”芯片。昇腾AI芯片的计算核心主要由AI Core构成,负责执行标量、向量和张量相关的计算密集型算子。

1. 昇腾AI全栈架构

5edea02a-70b0-11ee-939d-92fbcf53809c.png

1.1 昇腾AI全栈的四个大部分

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

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

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

计算硬件,本层是AI计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。

2. 异构计算架构 CANN

2.1 CANN 抽象的五层架构

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

5f0152c8-70b0-11ee-939d-92fbcf53809c.png

1. 昇腾计算语言接口

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

2. 昇腾计算服务层

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

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)等。

2.2 CANN 的三层逻辑架构

5f1055f2-70b0-11ee-939d-92fbcf53809c.png

1. 应用层

包括基于 Ascend 平台开发的各种应用,以及 Ascend 提供给用户进行算法开发、调优的应用类工具。1. 推理应用

基于 AscendCL 提供的 API 构建推理应用

2. AI 框架

包括 TensorFlow、Caffe、MindSpore 以及第三方框架

3. 模型小型化工具

实现对模型进行量化,加速模型

4. AutoML 工具

基于 MindSpore 自动学习工具,根据昇腾芯片特点进行搜索生成亲和性网络,充分发挥昇腾性能

5. 加速库

基于 AscendCL 构建的加速库(当前支持 Blas 加速库)

6. MindStudio

提供给开发者的集成开发环境和调试工具,可以通过MindStudio进行离线模型转换、离线推理算法应用开发调试、算法调试、自定义算子开发和调试、日志查看、性能调优、系统故障查看等

2. 芯片使能层

实现解决方案对外能力开放,以及基于计算图的业务流的控制和运行。1. AscendCL 昇腾计算语言库

开放编程框架,提供 Device/Context/Stream/ 内存等的管理、模型及算子的加载与执行、媒体数据处理、Graph 管理等 API 库,供用户开发深度神经网络应用。

2. 图优化和编译

统一的 IR 接口对接不同前端,支持 TensorFlow/Caffe/MindSpore 表达的计算图的解析/优化/编译,提供对后端计算引擎最优化部署能力

Graph Engine:图编译和运行的控制中心

Fusion Engine:管理算子融合规则

AICPU Engine:AICPU 算子信息管理

HCCL:HCCL 算子信息管理

3. 算子编译和算子库

TBE:编译生成算子及算子开发工具

算子库:神经网络加速库

4. 数字视觉预处理

实现视频编解码(VENC/VDEC)、JPEG 编解码(JPEG/E)、PNG 解码(PNGD)、VPC(预处理)

5. 执行引擎

Runtime:为神经网络的任务分配提供资源管理通道

Task Scheduler:计算图 Task 序列的管理和调度、执行

3. 计算资源层

主要实现系统对数据的处理和对数据的运算执行。1. 计算设备

AI Core:执行 NN 类算子

AI CPU:执行 CPU 算子

DVPP:视频/图像编解码、预处理

2. 通信链路

PCIe:芯片间或芯片与 CPU 间高速互联

HCCS:实现芯片间缓存一致性功能

RoCE:实现芯片内存 RDMA 功能

3. 昇腾计算语言接口 AscendCL

3.1 AscendCL 简介

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

5f32fb2a-70b0-11ee-939d-92fbcf53809c.png

3.2 AscendCL 的优势

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

3.3 AscendCL 的主要应用场景

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

3.4 AscendCL 的分层能力开放

AscendCL 提供的是分层开放能力的管控,通过不同的组件对不同的使能部件进行对接。包含 GE 能力开放、算
子能力开放、Runtime 能力开放、Driver 能力开放等。

模型加载能力开放:处理om模型加载,但接口的开放是通过AscendCL。

算子能力开放:算子能力实现在CANN中,但算子能力开放是通过AscendCL。

Runtime 能力开放:处理基于stream的设备能力、内存、event等资源能力开发诉求,对app屏蔽底层实现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19156

    浏览量

    229082
  • asic
    +关注

    关注

    34

    文章

    1193

    浏览量

    120308
  • 框架
    +关注

    关注

    0

    文章

    398

    浏览量

    17430
  • AI
    AI
    +关注

    关注

    87

    文章

    30098

    浏览量

    268372
  • 模型
    +关注

    关注

    1

    文章

    3162

    浏览量

    48707

原文标题:昇腾AI框架全栈深度介绍

文章出处:【微信号:AI_Architect,微信公众号:智能计算芯世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    华为云AI计算解决方案正式发布

    14日,在视觉计算领域行业盛会LiveVideoStack音视频技术大会上,华为云发布了视觉计算领域的重磅解决方案AI计算解决方案,并提出
    的头像 发表于 12-15 01:12 5611次阅读

    华为正式推出两款AI芯片:910和310

    在今日举行的华为联接2018大会上,华为轮值董事长徐直军首次阐述了AI战略。徐直军宣布,一直以来华为都在研发AI芯片,在此正式发布两款AI芯片:
    的头像 发表于 10-10 10:32 6414次阅读

    OpenHarmony集成 AI

    OpenHarmony集成 AI:目前,没有提供OpenHarmony系统可用的驱动。如果OpenHarmony要用
    发表于 02-17 11:57

    310的用途以及设计细节

    10月10日,华为在联接大会2018上,首次宣布了华为的AI战略以及解决方案。与此同时,华为发布了自研云端AI芯片“
    发表于 10-13 10:49 1.3w次阅读

    华为推出910、310两款AI芯片,910的半精度算力可达到256 TFLOPs

    说起华为的芯片我们首先想到的就是麒麟980、麒麟970,其实华为不只有麒麟处理器,也一直在研发AI芯片。在刚刚举行的华为链接2018 (HUAWEI CONNECT 2018)大会上,华为轮值CEO徐直军公布了华为
    发表于 10-10 16:18 2w次阅读

    华为发布AI软件平台,让AI计算触手可及

    今日,在深圳举行的AI新品全球发布会(HAI 2020)上,华为发布业界领先的AI
    发表于 08-10 17:40 1041次阅读

    华为发布AI软件平台让AI计算触手可及

    8月10日,在深圳举行的AI新品全球发布会HAI 2020上,华为发了布业界领先的AI
    发表于 08-10 17:12 423次阅读

    日报: 华为AI软件平台首次披露 谷歌AI新技术

    华为AI软件平台首次披露 ▲▲▲ 近日,在华为HAI 2020大会上,华为发布迄今为止
    的头像 发表于 09-08 16:53 2965次阅读

    华为AI观:解析华为AI全景图

    提到,还停留在「超强芯片」的刻板印象? 不不不,是时候重新认识一下它的「暴力美学」了AI
    的头像 发表于 09-27 15:10 2836次阅读

    计算产业发展白皮书发布 全场景AI共促计算产业发展

    [中国,上海,2020年9月24日]以万里,让智能无所不及 为主题的首届计算产业峰会在上海成功举办。来自全国各地的业内专家、行业先锋、生态伙伴等约500多人齐聚一堂,共同探讨
    的头像 发表于 09-27 09:17 3325次阅读

    AI的三级跳

    我们的读者,应该都已经关注AI很长时间了。 如果回溯整个AI计算产业的发展历程,会发现两
    的头像 发表于 07-16 19:42 1715次阅读
    <b class='flag-5'>昇</b><b class='flag-5'>腾</b><b class='flag-5'>AI</b>的三级跳

    基于CANN的AI应用开发

    本次AI开发者创享日围绕基于CANN的AI应用开发,多位技术大咖分享多样的趣味训练。
    的头像 发表于 04-24 13:16 1675次阅读

    华为基于AI基础软硬件平台 助力企业的数字化和智能化转型

    华为基于AI基础软硬件平台,逐步打造完善了从底层硬件、到中间AI框架到上层应用使能平台的整个AI
    的头像 发表于 05-26 14:28 2225次阅读

    华为服务器研究框架 服务器行业演进历程

    AI软硬件平台构筑智能世界的基石,计算产
    发表于 04-01 10:03 1174次阅读

    深度解析AI架构设计

    面向计算机视觉、自然语言处理、推荐系统、类机器人等领域量身打造了基于“达芬奇(DaVinci)架构”的(Ascend)AI处理器,开启了智能之旅。
    发表于 05-30 09:54 1428次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>昇</b><b class='flag-5'>腾</b><b class='flag-5'>AI</b><b class='flag-5'>全</b><b class='flag-5'>栈</b>架构设计