华为深度解读达芬奇架构:3D Cube计算引擎加速运算

2019-08-22 17:31:56    IT之家

此前,华为正式推出了麒麟810芯片,这款芯片采用华为自研的达芬奇架构,其AI得分在苏黎世联邦理工学院推出的AI Benchmark榜单中位列前三。

华为在文章中同时表示,8月23日,采用达芬奇架构的AI芯片Ascend910将正式商用发布,同时与之配套的新一代AI开源计算框架MindSpore也将同时亮相。

针对达芬奇框架,华为中国今天发文进行深度科普。以下则是华为对达芬奇框架的科普内容。

华为深度解读达芬奇架构:3D Cube计算引擎加速运算

源起:为什么要做达芬奇架构?

华为预测,到2025年全球的智能终端数量将会达到400亿台,智能助理的普及率将达到90%,企业数据的使用率将达到86%。可以预见,在不久的将来,AI将作为一项通用技术极大地提高生产力,改变每个组织和每个行业。为了实现AI在多平台多场景之间的协同,华为设计达芬奇计算架构,在不同体积和功耗条件下提供强劲的AI算力。

初见:达芬奇架构的核心优势

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

华为深度解读达芬奇架构:3D Cube计算引擎加速运算

▲3D Cube

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

深耕:达芬奇架构的AI硬实力

科普1:常见的AI运算类型有哪些?

在了解达芬奇架构的技术之前,我们先来弄清楚一下几种AI运算数据对象:

标量(Scalar):由单独一个数组成

向量(Vector):由一组一维有序数组成,每个数由一个索引(index)标识

矩阵(Matrix):由一组二维有序数组成,每个数由两个索引(index)标识

张量(Tensor):由一组n维有序数组成,每个数由n个索引(index)标识

其中,AI计算的核心是矩阵乘法运算,计算时由左矩阵的一行和右矩阵的一列相乘,每个元素相乘之后的和输出到结果矩阵。在此计算过程中,标量(Scalar)、向量(Vector)、矩阵(Matrix)算力密度依次增加,对硬件的AI运算能力不断提出更高要求。

典型的神经网络模型计算量都非常大,这其中99%的计算都需要用到矩阵乘,也就是说,如果提高矩阵乘的运算效率,就能最大程度上提升AI算力——这也是达芬奇架构设计的核心:以最小的计算代价增加矩阵乘的算力,实现更高的AI能效。

科普2:各单元角色分工揭秘,Da Vinci Core是如何实现高效AI计算的?

在2018年全联接大会上,华为推出AI芯片Ascend 310(昇腾310),这是达芬奇架构的首次亮相,Ascend 310相当于AI芯片中的NPU。

其中,Da Vinci Core只是NPU的一个部分,Da Vinci Core内部还细分成很多单元,包括核心的3D Cube、Vector向量计算单元、Scalar标量计算单元等,它们各自负责不同的运算任务实现并行化计算模型,共同保障AI计算的高效处理。

华为深度解读达芬奇架构:3D Cube计算引擎加速运算

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

今日热点

小编推荐

频道热点

关闭
X
本网页已闲置超过2分钟,点击关闭或空白处,即可回到网页