AI芯片架构体系综述:芯片类型CPU\GPU\FPGA\ASIC以及指令集CSIS\RISC介绍

大模型的发展意味着算力变的越发重要,因为大国间科技竞争的关系,国内AI从业方在未来的一段时间存在着算力不确定性的问题,与之而来的是许多新型算力替代方案的产生。如何从架构关系上很好的理解计算芯片的种类,并且从计算类型、生态、流片能力等多角度评估算力需求,正在成为AI方向负责人的核心竞争力。

正因为这个原因,最近几个休息日我一直在看相关领域的文章和论文,试着理清算力基础架构关系,因为过去积累不够深,可能有不准确的地方,还望指出。

PART01 AI芯片架构体系

学习芯片架构,首先需要有一个体系架构图,如何评价一款AI芯片,可以从芯片类型、指令集类型、指令集架构、代表公司以及制程几个角度来看。

不同的芯片类型决定了芯片的用途和设计理念,所以这方面一定是了解芯片最关键的一点。指令集类型和指令集架构,跟芯片的生态息息相关,因为一款好的芯片,不光要具备强大的计算性能,也要有广泛、灵活的开发者生态体系,做到软硬结合。最后一点是公司以及制程,公司的市占率以及芯片的制程是否足够先进,关系到芯片的商用成熟度以及供货保障程度。接下来会详细展开以上几个方向。

PART02AI芯片基本类型

CPU、GPU、FPGA、ASIC是目前AI计算过程中最主流的四种芯片类型,他们的主要区别体现在计算效率、能耗和灵活性上面。

  • CPU:CPU是冯诺依曼架构下的处理器,遵循“Fetch (取指) -Decode (译码) - Execute (执行) - Memory Access (访存) -Write Back (写回)”的处理流程。在执行计算任务过程中,数据需要先获取并存入RAM,然后解码获得指令,然后在ALU计算模块计算,最终将计算结果返回RAM。整个流程更强调控制和决策,在并行计算效率上有较大提升空间

  • GPU:GPU最早用于图像处理领域,减少了大量数据预取和决策模块,增加了计算单元ALU的占比,从而在并行化计算效率上有较大优势。

  • FPGA:FPGA的设计使得计算逻辑十分灵活,它不像CPU和GPU那样只能执行编译和汇编的内容,FPGA因为几乎没有控制模块,所有模块都是ALU计算模块,而且所有模块都可定制开发。但这也是FPGA的主要缺陷,因为具备很强的灵活度,导致设计难度和复杂度较高。

  • ASIC:ASIC是专门针对某一领域设计的芯片,比如神经网络计算芯片NPU、Tensor计算芯片TPU等。因为是针对特定领域定制,所以ASIC往往可以表现出比GPU和CPU更强的性能,ASIC也是目前国内外许多AI芯片设计公司主要研究的方向,可以预见未来市面上会逐渐有大量AI领域的ASIC芯片出现。

PART03AI芯片指令集和架构

接着说下AI芯片的指令集,首先要了解指令集是什么。计算机执行任务的过程可以看作是把程序编译成硬件可以理解的语言,再有硬件完成最终的计算工作。指令集可以理解是为编程和编译服务的一种计算机硬件可以理解的语言。

指令集分复杂指令集(CSIC)和精简指令集(RISC)。

CSIC主要用于传统的CPU芯片领域,他的设计模式是把用一个指令完成较复杂的任务,比如”帮我选个餐厅“。RISC是精简指令集,把任务进行拆解,比如”先了解我喜欢什么“,再”查查附近有什么餐厅“,”做一个匹配“。因为精简的设计,RISC在优化编译方面有很大的空间,目前深度学习主要计算都在RISC指令集的英伟达GPU芯片,所以目前在计算的编译优化方向,有很大空间,也是行业聚焦的技术方向。

接下来看下指令集架构(ISA),在AI领域需要重点关注ARM、RISC-V,国内外许多厂商也有在探索自研指令集架构,但是也是基于ARM或者RISC-V的设计思路。

ARM架构则是由英国的ARM Holdings公司开发的,它是为嵌入式系统和移动设备而设计的。ARM架构的主要特点是低功耗、高性能和可扩展性,它可以支持移动设备、嵌入式系统、智能家居等应用。

RISC-V是近些年非常流行的指令集架构,RISC-V与 ARM 和 MIPS 最大的差别还是在于其为 RISC-V 基金会进行标准的制定和维护工作而非商业公司,任何人可以无偿使用该指令集开发自己的 CPU ,或者往自己已有的芯片中集成开源免费的 RISC-V IP Core,这是比较吸引电子设备厂商的重要原因。

PART04总结

最近有几个大事件,一个是NV收购ARM进军CPU领域,另外就是美国强化了对国内的高端芯片制裁。从这些动作来看,AI芯片的新一轮竞争暗潮汹涌,随着各个厂商都在减少自己的芯片生态体系,未来在编译优化、异构芯片调度、冯诺依曼内存墙突破等方向一定会有更多新的工作,这些也需要持续探索。

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

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

相关文章

Java附件和base64相互转换

1 文件转base64 声明:我用的是Hutool的Base64下的api package cn.hutool.core.codec; 首先找一张图片 很简单,直接使用Base64的encode方法就可以拿到文件的base64码: File file new File("D:\\Tools\\Images\\北极熊.jpg");String…

Feign服务调用

Feign服务调用 使用Feign&#xff0c;在服务消费者中&#xff0c;调用服务提供者的接口。 注册中心 此处使用 Nacos&#xff0c;详情见&#xff1a; https://www.cnblogs.com/expiator/p/17392549.html Feign依赖 <properties><java.version>1.8</java.vers…

OJ中常用平衡树,Treap树堆详解

文章目录 Treap定义Treap的可行性Treap的构建节点定义旋转左单旋右单旋旋转的代码实现 插入插入的代码实现 删除遍历查找Treap对权值的扩展Treap对size的扩展扩展size域后的节点定义和旋转&#xff0c;插入&#xff0c;删除操作查询第k小的元素求元素的排名 查询后继、前驱Trea…

虚幻引擎:RPC:远端调用

1.如何区当前是服务器还是在客服端 2.如何修改一个actor的所有权 修改所有权必须 在服务器上进行修改,不允许在客户端进行修改

大数据商城人流数据分析与可视化 - python 大数据分析 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的基站数据分析与可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度…

220v插座led指示灯维修

由于220v是交流电&#xff0c;有反向电压的情况&#xff0c;而led反向通电的时候电阻无穷大&#xff0c;所以分压也无穷大&#xff0c;220v一导通就击穿&#xff0c;即使加了很大的电阻也没用&#xff0c;串联电阻只能作用于二极管正向的时候。 目前有两种方案&#xff1a; 方…

远程运维用什么软件?可以保障更安全?

远程运维顾名思义就是通过远程的方式IT设备等运行、维护。远程运维适用场景包含因疫情居家办公&#xff0c;包含放假期间出现运维故障远程解决&#xff0c;包含项目太远需要远程操作等等。但远程运维过程存在一定风险&#xff0c;安全性无法保障&#xff0c;所以一定要选择靠谱…

【深度学习】pytorch——神经网络工具箱nn

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 深度学习专栏链接&#xff1a; http://t.csdnimg.cn/dscW7 pytorch——神经网络工具箱nn 简介nn.Modulenn.Module实现全连接层nn.Module实现多层感知机 常用神经网络层图像相关层卷积层&#xff08;Conv&#xff…

MPLAB X IDE 仿真打断点提示已中断的断点?

这种中间带裂缝的是无效断点。 原因可能与XC编译器的优化有关&#xff0c;最后生成的汇编与C语言并不是一一对应的(官方给的解释是效率高)。所以这一行C语言转换的汇编代码可能并不在这个位置&#xff0c;也可能与其它汇编合并后根本就没有 我的解决方法是把优化等级调到最低&a…

MapReduce:大数据处理的范式

一、介绍 在当今的数字时代&#xff0c;生成和收集的数据量正以前所未有的速度增长。这种数据的爆炸式增长催生了大数据领域&#xff0c;传统的数据处理方法往往不足。MapReduce是一个编程模型和相关框架&#xff0c;已成为应对大数据处理挑战的强大解决方案。本文探讨了MapRed…

wpf添加Halcon的窗口控件报错:下列控件已成功添加到工具箱中,但未在活动设计器中启用

报错截图如下&#xff1a; 注意一下新建工程的时候选择wpf应用而不是wpf应用程序。 添加成功的控件&#xff1a;

python 之 正则表达式模块re

文章目录 findall例子&#xff1a;特点和注意事项&#xff1a; match示例&#xff1a;match 对象的方法和属性&#xff1a;注意事项&#xff1a; search示例&#xff1a;match 对象的方法和属性&#xff1a;注意事项&#xff1a; split示例&#xff1a;参数说明&#xff1a;注意…

尚硅谷大数据项目《在线教育之实时数仓》笔记006

视频地址&#xff1a;尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P041 P042 P043 P044 P045 P046 P047 P048 P049 P050 P051 P052 第9章 数仓开发之DWD层 P041 9.3 流量域用户跳出事务事实表 P042 DwdTrafficUserJum…

初步利用Ansible实现批量服务器自动化管理

1.Ansible介绍 Ansible是一款开源的自动化运维工具, 在2012年由Michael DeHaan创建, 现在由Red Hat维护。Ansible是基于Python开发的,采用YAML语言编写自动化脚本playbook, 可以在Linux、Unix等系统上运行, 通过SSH协议管理节点, 无需在被管理节点安装agent。Ansible以其简单、…

【计算机网络 - 自顶向下方法】第一章习题答案

P2 Question&#xff1a;   式 (1-1) 给出了经传输速率为 R 的 N 段链路发送长度为 L 的一个分组的端到端时延。 对于经过 N 段链路一个接一个地发送 P 个这样的分组&#xff0c;一般化地表示出这个公式。 Answer&#xff1a;    N ∗ L R \frac{N*L}{R} RN∗L​时&#x…

Amazon MSK 基于 S3 的数据导出、导入、备份、还原、迁移方案

Amazon MSK&#xff08;Amazon Managed Streaming for Apache Kafka&#xff09;是 Amazon 云平台提供的托管 Kafka 服务。在系统升级或迁移时&#xff0c;用户常常需要将一个 Amazon MSK 集群中的数据导出&#xff08;备份&#xff09;&#xff0c;然后在新集群或另一个集群中…

04、SpringBoot + 微信支付 --- 内网穿透ngrok(安装、使用)

Native 下单 1、内网穿透 ngrok 1-1&#xff1a;注册下载 下载 2-2&#xff1a;使用方式 直接在该目录cmd打开 第一次时候这个ngrok时&#xff0c;需要为计算机做授权 授权命令&#xff1a; ngrok config add-authtoken 2XmL8EfYQe6uVAjM9Iami0pWogd_5ztKmSxHs6UeAQn9RQB…

python 之异常处理结构

文章目录 常见的异常处理表现形式1. SyntaxError2. NameError3. TypeError4. IndexError5. KeyError6. ZeroDivisionError7. FileNotFoundErrortry……except …… 结构1. try 块2. except 块示例&#xff1a;多个except块try……except ……else 结构结构说明&#xff1a;示例…

AVS3:双向梯度修正BGC

双向梯度修正&#xff08;Bi-directional Gradient Correction&#xff0c;BGC&#xff09;是利用双向参考块间的差值对预测值进行修正的技术。 BGC仅用于双向预测CU&#xff0c;设两个方向得到的单向预测值分别为pred0和pred1&#xff0c;修正前的双向预测值为predBI&#xf…

Elasticsearch:搜索架构

Elasticsearch 全文检索的复杂性 为了理解为什么全文搜索是一个很难解决的问题&#xff0c;让我们想一个例子。 假设你正在托管一个博客发布网站&#xff0c;其中包含数亿甚至数十亿的博客文章&#xff0c;每个博客文章包含数百个单词&#xff0c;类似于 CSDN。 执行全文搜索…