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

    文章

    18285

    浏览量

    222167
  • asic
    +关注

    关注

    34

    文章

    1156

    浏览量

    119264
  • 框架
    +关注

    关注

    0

    文章

    297

    浏览量

    17045
  • AI
    AI
    +关注

    关注

    87

    文章

    26453

    浏览量

    264068
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47689

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

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

收藏 人收藏

    评论

    相关推荐

    AliOS Things蓝牙协议及应用开发框架介绍

    摘要: AliOS Things从1.2.0版本开始支持蓝牙协议(BLE),及基于蓝牙协议的应用层开发框架。本文分为三部分对蓝牙组件进行介绍:蓝牙组件,蓝牙协议
    发表于 01-11 11:36

    Nanopi深度学习之路(1)深度学习框架分析

    学习,也就是现在最流行的深度学习领域,关注论坛的朋友应该看到了,开发板试用活动中有【NanoPi K1 Plus试用】的申请,介绍中NanopiK1plus的高大上优点之一就是“可运行深度学习算法的智能
    发表于 06-04 22:32

    AI大学·未来课@成都」报名开启,AI 带你大开眼界!

    ` 本帖最后由 讯飞开放平台 于 2018-6-9 10:21 编辑 2018年「AI大学·未来课@成都」将于6月14日在成都拉开序幕。这一次我们携手中科院上海微系统研究员张晓林、云孚
    发表于 06-09 10:16

    优必选携手玛人工智能探索:AI智能的未来之路

    人工智能产品,通过多年的技术研发与测试,2018年公司旗下品牌玛人工智能正式成立,并与国内AI独角兽优必选达成了战略合作,共同为研发人形机器人进行深度合作交流,争取早日实现”未来每家每户都能买个人形机器人
    发表于 12-21 17:19

    【免费直播】让AI芯片拥有最强大脑—AI芯片的操作系统设计介绍.

    深度学习推断处理器(DPU)运行时设计介绍3、如何加速优化,提高系统并行执行效率1、AI芯片中的操作系统管理原则2、操作系统运行时设计准则3、多核多线程加速计算效率方法主讲老师:陈小柏,男,中山大学
    发表于 11-07 14:18

    华为师资培训沙龙成都场

    华为师资培训沙龙成都场,随着万物互联时代的到来,人工智能技术正处于爆发期,在5G、低延时等技术的加持下,AI应用的能力得到了跨越式的提升,越来越多的场景和行业正在被AI改写,整个社
    发表于 07-28 08:04

    从芯片到云链路高效设计 一文了解YoC基础软件平台

    开发,组件积木式开发,丰富的IoT组件,面向领域的软件框架等4大特点。如下详述:1、极简开发提供 CDK 开发工具提供 Shell 交互,支持内存踩踏、泄露、最大深度等各类侦测提供包括存储 (掉电
    发表于 09-01 15:05

    爱科技推出Atlas200开发套件QA200-PICE,进入多所知名高校!

    爱科技推出Atlas200开发套件QA200-PICE,QA200-PICE开发者套件是一款高性能AI应用开发板,支持华为Ascend Atlas200的RC和EP可切换模式开发
    发表于 04-08 16:22

    OpenHarmony集成 AI

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

    阿里平头哥发布首个 RISC-V AI 软硬平台

    面向多媒体 AI 增强场景的 RISC-V 软硬件平台。 该平台将 RISC-V 扩展性的新型 Vector、Matrix 及第三方硬件进行算力抽象,并接入 OpenCV 与 CSI-NN 等弹性
    发表于 08-26 14:14

    小米AI移动端深度学习框架MACE开源了!

    MACE,是指小米公司自研的移动端深度学习框架Mobile AI Compute Engine。2017年12月,这一深度学习框架就在小米公
    的头像 发表于 07-26 14:06 4757次阅读

    八种主流深度学习框架介绍

    导读:近几年随着深度学习算法的发展,出现了许多深度学习框架。这些框架各有所长,各具特色。常用的开源框架有TensorFlow、Keras、C
    的头像 发表于 04-26 18:45 7439次阅读

    深度学习框架是什么?深度学习框架有哪些?

    高模型的精度和性能。随着人工智能和机器学习的迅猛发展,深度学习框架已成为了研究和开发人员们必备的工具之一。 目前,市场上存在许多深度学习框架可供选择。本文将为您
    的头像 发表于 08-17 16:03 1781次阅读

    深度学习框架tensorflow介绍

    深度学习框架tensorflow介绍 深度学习框架TensorFlow简介 深度学习
    的头像 发表于 08-17 16:11 1455次阅读

    深度学习cntk框架介绍

    深度学习cntk框架介绍  深度学习是最近几年来非常热门的话题,它正在彻底改变我们生活和工作的方式。随着越来越多的创新和发展,人工智能和机器学习的应用范围正在大大扩展。而对于
    的头像 发表于 08-17 16:11 968次阅读