达芬奇架构NPU
达芬奇架构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的更多相关文章
- 基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理
基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢 ...
- 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...
- 达芬奇TI DVSDK之视频数据流过程分析
作者:openwince@gmail.com 博客:http://www.cnblogs.com/tinz 本文的copyright归openwince@gmail.com所有,使用GPL发布, ...
- TI DaVinci(达芬奇)入门
(转载来自 德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 崔晶 德州仪器(TI)的第一颗达芬奇(DaVinci)芯片(处理器)DM6446已经问世快三年了.继DM644x之后,TI又 ...
- buu 达芬奇 && ROT
一.达芬奇 百度了下电影简介,发现了斐波那契数列,同时发现密文是由斐波那契数列移动而来的,有点像base64变种 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ...
- Mac 达芬奇【Davinci Resolve】 无法添加媒体
参考 : https://zhidao.baidu.com/question/182613491787331404.html 打开软件,点击默认的未命名项目: 点击左上角图中箭头位置: 选中系统-&g ...
- 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力
1.引言 达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台. 达达的业务模式与滴滴以及Uber很相似,以众包的方式利 ...
- 3D Cube计算引擎加速运算
3D Cube计算引擎加速运算 华为达芬奇架构的AI芯片Ascend910,同时与之配套的新一代AI开源计算框架MindSpore. 为什么要做达芬奇架构? AI将作为一项通用技术极大地提高生产力,改 ...
- 【华为昇腾】 序言:从昇腾AI软硬件平台聊起
2021年是很值得纪念的一年,从上半年开始跟随导师编写有关华为昇腾软件栈CANN的教材,一年的时间反复迭代 终于快要出版了. 这一系列博客可以视作我从编者的角度,重新梳理的全书思路.明年入职商汤之后要 ...
随机推荐
- python正则表达式基本语法
一.最常用的匹配语法 re.match 从头开始匹配 re.search 匹配包含 re.findall 把所有匹配到的字符放到以列表中的元素返回 re.split 以匹配到的字符当做列表分隔符 r ...
- hdu1978 简单记忆化搜索
题意: How many ways Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- POJ 2516 基础费用流
题意 有n个顾客,m个供应商,k种货物,给你顾客对于每种货物的要求个数,和供应商对于每种货物的现有量,以及供应每种货物的时候供应商和顾客之间的运输单价,问你满足所有顾客的前提下的最小运输费 ...
- CTFHub-easy_search
easy_search 玩了好些天,今天做道题找找状态,明天开始肝了 打开是一个登录框 用amdin/admin尝试了一下,提示登陆失败 这里肯定不会是暴力破解,我猜是sql注入,试了万能密码or 1 ...
- Andrew Ng机器学习算法入门((五):矩阵和向量
矩阵定义 数学上,一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列 使用Aij来获取矩阵中第i行j列的数据 向量的定义 向量就是n行1列的特殊矩阵 由于向量仅仅只有1行,那么通过一个变量i来指定获 ...
- 表单模块 layui-form
使用 layui针对各种表单元素做了比较全面的Ui支持,在Ui渲染只要求一点.,在表单体所在父元素加上class="layui-form" 监听事件 提交按钮监听,注意需要加·la ...
- SQL必知必会 —— 性能优化篇
数据库调优概述 数据库中的存储结构是怎样的 在数据库中,不论读一行,还是读多行,都是将这些行所在的页进行加载.也就是说,数据库管理存储空间的基本单位是页(Page). 一个页中可以存储多个行记录(Ro ...
- 【BUAA软工】Beta阶段设计与计划
一.需求再分析 根据用户反馈,是否发现之前的需求分析有偏差?为什么会出现这种偏差?beta阶段你们是否能真的分析清楚用户需求?如何做到? 根据alpha阶段同学们以及课程组老师和助教的使用反馈,总结起 ...
- 列表 元组 sort
列表 增append insert extend 迭代增加删 remove delete pop clear改 li[索引]="被修改的内容":切片"" 列表 ...
- 【山外笔记-SVN命令】svn命令详解
本文打印版文件下载地址 [山外笔记-SVN命令]svn命令详解-打印版.pdf 一.命令简介 svn命令用于Subversion命令行客户端,执行svn相关的操作. 二.命令语法 1.svn语法: ( ...