达芬奇架构NPU

  达芬奇架构的核心优势是什么?如何更好地赋能麒麟990?

  达芬奇架构,是华为自研的面向AI计算特征的全新计算架构,具备高算力、高能效、灵活可裁剪的特性,是实现万物智能的重要基础。具体来说,达芬奇架构采用3D Cube针对矩阵运算做加速,大幅提升单位功耗下的AI算力,每个AI Core可以在一个时钟周期内实现4096个MAC操作,相比传统的CPU和GPU实现数量级的提升。  

3D Cube

  同时,为了提升AI计算的完备性和不同场景的计算效率,达芬奇架构还集成了向量、标量、硬件加速器等多种计算单元。支持多种精度计算,支撑训练和推理两种场景的数据精度要求,实现AI的全场景需求覆盖。

  在如智能手机等实际端侧AI应场景中,AI算力与功耗的协调是至关重要的,一般来讲更高的AI算力意味着更大的功耗,因此智能手机的续航常常使AI算力受限。而有了达芬奇架构NPU,这一状况将得到改善,如果麒麟990能够搭载达芬奇架构NPU,麒麟芯片或将再次迎来震动行业的算力升级。

  DaVinci Core是如何实现高效AI计算的?

  华为推出AI芯片昇腾310,达芬奇架构,昇腾310相当于AI芯片中的NPU。其中,DaVinci Core只是NPU的一个部分,DaVinci Core内部还细分成很多单元,包括核心的3D Cube、Vector向量计算单元、Scalar标量计算单元等,各自负责不同的运算任务实现并行化计算模型,共同保障AI计算的高效处理。

  

  • 3D Cube矩阵乘法单元:算力担当

  刚才已经提到,矩阵乘是AI计算的核心,这部分运算由3D Cube完成,Buffer L0A,L0B,L0C则用于存储输入矩阵和输出矩阵数据,负责向Cube计算单元输送数据和存放计算结果。

  • Vector向量计算单元:灵活的多面手

  虽然Cube的算力很强大,但只能完成矩阵乘运算,还有很多计算类型要依靠Vector向量计算单元来完成。Vector的指令相对来说非常丰富,可以覆盖各种基本的计算类型和许多定制的计算类型.

  • Scalar标量计算单元:流程控制的管家

  Scalar标量运算单元主要负责AI Core的标量运算,功能上可以看作一个小CPU,完成整个程序的循环控制,分支判断,Cube/Vector等指令的地址和参数计算以及基本的算术运算等。

  3D Cube计算方式,有哪些独特的优势?

  不同于以往的标量、矢量运算模式,华为达芬奇架构以高性能3D Cube计算引擎为基础,针对矩阵运算进行加速,大幅提高单位面积下的AI算力,充分激发端侧AI的运算潜能。以两个N*N的矩阵A*B 乘法为例:如果是N个1D 的MAC,需要N^2(即N的2次方)的cycle数;如果是1个N^2的2D MAC阵列,需要N个Cycle;如果是1个N维3D的Cube,只需要1个Cycle。

  

  (图中的计算单元的数量只是示意。实际可灵活设计)

  华为创新设计的达芬奇架构将大幅提升算力,16*16*16的3D Cube能够显著提升数据利用率,缩短运算周期,实现更快更强的AI运算。这是什么意思呢?举例来说,同样是完成4096次运算,2D结构需要64行*64列才能计算,3D Cube只需要16*16*16的结构就能算出。其中,64*64结构带来的问题是:运算周期长、时延高、利用率低。

  达芬奇架构的这一特性也完美体现在麒麟810上。作为首款采用达芬奇架构NPU的手机SoC芯片,麒麟810实现强劲的AI算力,在单位面积上实现最佳能效,FP16精度和INT8量化精度业界领先,搭载这款SoC芯片的华为Nova 5、Nova 5i Pro及荣耀9X手机已上市,为广大消费者提供多种精彩的AI应用体验。

  更强算力的麒麟990,开启互联互通的智慧新场景

  一直以来,麒麟芯片的AI实力之所以受到人们的认可,除了强劲的AI计算力领先行业,华为手机实现众多应用场景。达芬奇架构作为华为自研架构,在应用适应性方面与华为的理念一脉相承,基于灵活可扩展的特性,达芬奇架构能够满足端侧、边缘侧及云端的应用场景,可用于小到几十毫瓦,大到几百瓦的训练场景,横跨全场景提供最优算力,麒麟990所使用到的只是端侧AI最基本的一部分。

  

  并且,想要真正实现万物互联的AI生态,离不开广大的AI开发者,那么选择开发统一架构就是一个非常关键的决策了。对于广大开发者来说,基于达芬奇架构的统一性,在面对云端、边缘侧、端侧等全场景应用开发时,只需要进行一次算子开发和调试,就可以应用于包括麒麟芯片在内的不同平台,大幅降低了迁移成本。

  

  体验最多的AI应用大多来源于智能手机,但对于整个AI生态来说,智能手机只是一个开端,未来更多的AI应用涌现、跨平台迁移才能真正实现无处不在的智慧生活。因此,如果麒麟990真的搭载了达芬奇架构NPU,不止是手机算力提升那么简单,以AI之力加速万物互联的智慧时代。

  采用达芬奇架构AI芯片Ascend 910,与之配套的新一代AI开源计算框架MindSpore。

达芬奇架构NPU的更多相关文章

  1. 基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理

    基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢 ...

  2. 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012

    芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...

  3. 达芬奇TI DVSDK之视频数据流过程分析

    作者:openwince@gmail.com 博客:http://www.cnblogs.com/tinz    本文的copyright归openwince@gmail.com所有,使用GPL发布, ...

  4. TI DaVinci(达芬奇)入门

    (转载来自 德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 崔晶 德州仪器(TI)的第一颗达芬奇(DaVinci)芯片(处理器)DM6446已经问世快三年了.继DM644x之后,TI又 ...

  5. buu 达芬奇 && ROT

    一.达芬奇 百度了下电影简介,发现了斐波那契数列,同时发现密文是由斐波那契数列移动而来的,有点像base64变种 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ...

  6. Mac 达芬奇【Davinci Resolve】 无法添加媒体

    参考 : https://zhidao.baidu.com/question/182613491787331404.html 打开软件,点击默认的未命名项目: 点击左上角图中箭头位置: 选中系统-&g ...

  7. 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力

    1.引言   达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台. 达达的业务模式与滴滴以及Uber很相似,以众包的方式利 ...

  8. 3D Cube计算引擎加速运算

    3D Cube计算引擎加速运算 华为达芬奇架构的AI芯片Ascend910,同时与之配套的新一代AI开源计算框架MindSpore. 为什么要做达芬奇架构? AI将作为一项通用技术极大地提高生产力,改 ...

  9. 【华为昇腾】 序言:从昇腾AI软硬件平台聊起

    2021年是很值得纪念的一年,从上半年开始跟随导师编写有关华为昇腾软件栈CANN的教材,一年的时间反复迭代 终于快要出版了. 这一系列博客可以视作我从编者的角度,重新梳理的全书思路.明年入职商汤之后要 ...

随机推荐

  1. miui10 刷机

    起因 折腾一下老手机 名词解释 名称 内容 含义 REC Recovery的缩写 Android出厂时自带的恢复模式 (理解为win PE) 双清 data,cache 用户数据+系统缓存 三清 da ...

  2. LA3635派

    题意:       有F+1个人来分n个圆形派,每个人分到的必须是一个整块的派,形状无所谓,每个人分到的必须一样多,给你每个派的半径,问每个人能分到的最大派的面积是多少. 思路:       虽然不是 ...

  3. Python中hashlib模块的使用

    hashlib是 python 下一款与加密相关的库包,提供摘要算法:md5.sha1.sha224.sha256.sha384.sha512.blake2b.blake2s.sha3_224.sha ...

  4. XCTF-ics-05

    ics-05 题目描述 其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统 解题步骤 用dirsearch和御剑扫了一下,只有index.php,尝试了一边,也只有index.php,也就是设备 ...

  5. 死磕到底RecyclerView | RecyclerView 的滚动是怎么实现的?

    RecyclerView 是一个展示列表的控件,其中的子控件可以被滚动.这是怎么实现的?以走查源码的方式一探究竟. 切入点:滚动事件 阅读源码时,如何在浩瀚的源码中选择合适的切入点很重要,选好了能少走 ...

  6. spring泛型注入

    泛型依赖注入 Spring 4.0版本中更新了很多新功能,其中比较重要的一个就是对带泛型的Bean进行依赖注入的支持. 泛型依赖注入允许我们在使用spring进行依赖注入的同时,利用泛型的优点对代码进 ...

  7. layui中富文本编辑器LayEdit的使用

    html部分: <textarea id="demo" style="display: none;"></textarea>js部分:& ...

  8. 如何使用mongo shell

    Cd到MongoDb安装目录到bin目录下,执行mongo命令即可,其他命令参考手册:https://www.runoob.com/mongodb/mongodb-create-collection. ...

  9. ColyseusJS 轻量级多人游戏服务器开发框架 - 中文手册(下)

    快速上手多人游戏服务器开发.后续会基于 Google Agones,更新相关 K8S 运维.大规模快速扩展专用游戏服务器的文章.拥抱️原生 Cloud-Native! 系列 ColyseusJS 轻量 ...

  10. SpringBoot系列——自定义统一异常处理

    前言 springboot内置的/error错误页面并不一定适用我们的项目,这时候就需要进行自定义统一异常处理,本文记录springboot进行自定义统一异常处理. 1.使用@ControllerAd ...