达芬奇架构 DaVinci Core - 小记

news/2024/4/28 13:07:49/文章来源:https://blog.csdn.net/lovechris00/article/details/132096691

文章目录


  • 官方文档 : HUAWEI Da Vinci Architecture
    https://support.huaweicloud.com/intl/en-us/odevg-A800_9000_9010/atlaste_10_0007.html
  • PPT : DaVinci: A Scalable Architecture for Neural Network Computing
    https://www.cmc.ca/wp-content/uploads/2020/03/Zhan-Xu-Huawei.pdf

相关博客

  • 吴建明wujianming : 达芬奇架构NPU
    https://zhuanlan.zhihu.com/p/352481421

  • 计算单元
    • Cube
    • Vector
    • Scalar
  • 存储单元
  • 控制单元

作为Ascend AI处理器的计算核心,AI core负责执行计算密集型向量和张量算子。

它可以被看作是现代微处理器的简化结构。它包括三个基本的计算资源:矩阵计算单元(立方体单元)、矢量计算单元(矢量单元)和标量计算单元(标量单元)。
这三个计算单元分别对应三种常见的计算模式:张量、向量和标量。
在实际计算过程中,三个计算单元各司其职,形成三条独立的执行管线,在系统软件的统一调度下相互配合,实现计算效率的优化。
此外,立方体单元和矢量单元支持不同精度和不同类型的计算模式。


AI Core architecture
在这里插入图片描述


AI核心由计算单元、存储单元和控制单元组成。

  • 计算单位
    AI核心中的执行单元包括Cube、Vector和Scalar,它们是不同类型数据的计算单元。
  • 存储单元
    AI Core将外部数据加载到内部存储器进行计算。
    程序员可见的内部存储设备包括L1缓冲区、L0缓冲区、统一缓冲区、通用寄存器(GPR)、专用寄存器(SPR)和标量缓冲区。
    为了便于AI Core中的数据传输和移动,提供了总线接口单元(BIU)、存储器传输引擎1(MTE1)、MTE2和MTE3。
    BIU为AI核心和总线之间的交互提供了一个接口。
    MTE在不同的缓冲区之间移动数据。
  • 控制单元
    AI核心的控制单元包括系统控制、标量PSQ、Instr.Dispatch、立方体队列、矢量队列、MTE队列和事件同步。System Control负责AI Core的运行模式、参数配置和功耗控制。
    标量PSQ主要用于对控制指令进行解码。
    使用Instr.Dispatch模块对指令进行解码和顺序传输后,它们将按类型分别发送到Cube Queue、Vector Queue或MTE Queue模块。

华为AI全景图
在这里插入图片描述


伊织 2023-08-04(周五)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_340060.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇文章带你基本了解Java 集合框架、核心接口、以及需要掌握的各个数据结构

一篇文章带你基本了解Java 集合框架 基本概念: ​ 早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。 ​ Java集合框架(Java Collections Framework&…

Pytorch Tutorial【Chapter 2. Autograd】

Pytorch Tutorial 文章目录 Pytorch TutorialChapter 2. Autograd1. Review Matrix Calculus1.1 Definition向量对向量求导1.2 Definition标量对向量求导1.3 Definition标量对矩阵求导 2.关于autograd的说明3. grad的计算3.1 Manual手动计算3.2 backward()自动计算 Reference C…

极光笔记 | 浅谈企业级SaaS产品的客户成长旅程管理(上)—— 分析篇

本文作者:陈伟(极光用户体验部高级总监) “企业级SaaS产品与C端互联网产品特征差异很大,有些甚至是截然相反,这些特征也会成为后续客户成长旅程的重要影响变量。本文就如何设计并服务好企业级SaaS产品客户成长旅程进行…

全网最强,Python接口自动化测试实战-接口参数关联(购物实例)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 什么是参数关联&a…

Spring之浅谈AOP技术

目录 前言 1.AOP的作用 2.AOP核心 Spring实现AOP 3.AOP工作流程 4.AOP核心概念 5.AOP通知类型 5.1类型介绍 5.2通知类型的使用 前置通知 后置通知 ​​​​​​​环绕通知 前言 AOP:Aspect Oriented Programming(面向切面编程)&…

收藏!9款好用的前端可视化工具推荐

“可视化开发”是上个世纪90年代软件界最大的热点之一。 当初,可视化开发主要专注于用户界面的构建,让开发者通过简单的拖拽操作,快速搭建用户界面,一些成熟产品更是实现了“所见即所得”。在与当时最先进的高级编程语言相比较时&…

01-序言

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 此专栏是学习“线性代数”课程做的笔记,教程来自B站的3Blue1Brown​​​​​​​d​​​​​​​。 视频作者是Grant Sanderson, 他本人是斯坦…

Redis两种持久化方案RDB持久化和AOF持久化

Redis持久化 Redis有两种持久化方案: RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启…

【ASP.NET MVC】使用动软(三)(11)

一、问题 上文中提到,动软提供了数据库的基本操作功能,但是往往需要添加新的功能来解决实际问题,比如GetModel,通过id去查对象: 这个功能就需要进行改进:往往程序中获取的是实体的其他属性,比如…

Vue2 第十八节 插槽

1.默认插槽 2.具名插槽 3.作用域插槽 插槽 ① 作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件和子组件间通信 ② 分类:默认插槽,具名插槽,作用域插槽 一.默认…

【Linux】创建与删除用户

新增用户: adduser 用户名【添加用户】 passwd 用户名【设置用户密码】删除用户: userdel -r 用户名【删除用户】

【机器学习】在 MLOps构建项目 ( MLOps2)

My MLOps tutorials: Tutorial 1: A Beginner-Friendly Introduction to MLOps教程 2:使用 MLOps 构建机器学习项目 一、说明 如果你希望将机器学习项目提升到一个新的水平,MLOps 是该过程的重要组成部分。在本文中,我们将以经典手写数字分类…

【力扣】206. 反转链表 <链表指针>

【力扣】206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2 输入:head [1,2] 输出:[2,1] 示例 3 输入&#xff1a…

Qt中ffmpeg API存储和显示摄像头视频

Qt中ffmpeg API存储和显示摄像头视频的功能需要之前写的视频ffmpegAPI的视频播放的流程。 代码源码位置:https://download.csdn.net/download/qq_43812868/88157743?spm1001.2014.3001.5503 一、存储和显示摄像头的视频的流程 这是读取打开视频文件的流程&#x…

8.4作业

用信号量的方式实现打印1234567后打印7654321循环交替打印。 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<head.h> char buf[]"1234567"; sem_t sem; void *callBack1(void *arg) {int i0;int sstrlen(buf)-1;while…

LeetCode 27题:移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

FreeIPA Server/Client不同版本组合,对podman rootless container的支持

FreeIPA Server/Client不同版本组合&#xff0c;对podman rootless container的支持 根据实验&#xff0c; CentOS 7.9 yum仓库自带的FreeIPA Server 4.6.8&#xff0c; ipa client版本支持CentOS 7.9 yum仓库自带的FreeIPA Client 4.6.8不支持subids&#xff0c;podman调用…

NVIDIA 535.86.05 Linux 图形驱动程序改进 Wayland 支持

NVIDIA公司近日发布了适用于 Linux、FreeBSD 和 Solaris 系统的 NVIDIA 535.86.05 图形驱动程序&#xff0c;作为其生产分支的维护更新&#xff0c;解决了各种错误和问题。 NVIDIA 535.86.05 是在 NVIDIA 535.54.03 发布一个多月之后发布的&#xff0c;它通过解决在使用某些 W…

G-channel 实现低光图像增强

G-channel 之前研究低光图像增强时&#xff0c;看到一篇博客&#xff0c;里面介绍了一种方法&#xff0c;没有说明出处&#xff0c;也没有说明方法的名字&#xff0c;这里暂时叫做 G-channel 算法。 博客地址&#xff1a;低照度图像增强&#xff08;附步骤及源码&#xff09;…

Java使用POI读取Excel名称管理器

文章目的 本文主要介绍如何使用poi读取到Excel的名称管理器中的内容。并且定位到单元格。 在企业的开发中可能需要通过名称管理器定位到某个单元格&#xff0c;然后在单元格上生成签名。 环境配置 Java&#xff1a;Jdk1.8 poi&#xff1a;5.2.3 maven依赖(pom.xml)&#x…