首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从M1、Grace再到华为,缝合风为何会在芯片大厂中流行

从M1、Grace再到华为,缝合风为何会在芯片大厂中流行

原创
作者头像
beyondma
发布于 2022-04-03 09:58:23
发布于 2022-04-03 09:58:23
6250
举报
文章被收录于专栏:Rust学习专栏Rust学习专栏

历史不会简单重复,但总是惊人的相似。之前在电影、游戏等人文领域流行的缝合风,似乎也对IT界芯片设计师们产生了影响,虽然去年华为提出的双芯叠加方案还被全网群嘲,而上周英伟达最新的发布会上,黄仁勋发布的Grace CPU Superchip却成了真香的作品,不过这款芯片其实就是用两块Grace粘在一起而形成的。

而上个月中旬苹果春晚上发布的M1 Ultra也是同样的配方,同一个套路,他们直接把两块M1 MAX拼到一块,就这样一款新的“伟大”芯片就诞生了。

当然笔者这里对于此类缝合作品并不抱有偏见,毕竟像“原神”那样的作品在上市之初也被指责是缝合怪,但这丝毫不影响米哈游目前的大杀四方,让来自于各个国家的粉丝都疯狂氪金,不过笔者还是要指出这种缝合式芯片的大行其道,其实是缺芯潮不断持续而产生的影响,由于科技业界忙于眼前的苟且,创新后劲不足,对新设计、新理念缺乏信心,在这种情况下考虑到原来的M1 MAX已经大获成功了,而且台积电的制造经验也成熟,把两块已经成熟的芯片粘在一起,风险要远比造全新的芯片要小得多。

其实这股缝合风从苹果的初代M1就开始了,只是初代的M1的目标是把CPU、GPU、内存缝合到一起,由于使用的都是片内内存,所以理论上讲M1系列的全族芯片都是不支持内存扩展的,要换只能把CPU、GPU打包一起换掉。当然缝合方案的影响不只于此,下面我们就来分析一下这种芯片缝合方案的具体情况。

内存带宽极高,CPU和GPU通信能力超强

由于内存完全被芯片集成,内存与CPU之间的通信也就不用经过主板进行转手了,因此目前我们可以看到英伟达的Grace CPU的内存带宽可以达到惊人每秒1TB,而苹果M1 Ultra也是不遑多让,有每秒800GB的成绩。这是我们一般主板接入内存的普通X86玩家所不能想象的效果,可见甩了主板这个中间商以后,其实内存的速度还是能打的。

另外由于M1系列缝合式芯片内存、GPU都是由CPU进行统一管理,也就是说内存与显存是共享的,这就可以大大提高CPU与GPU的通信效率,从而增强图像处理3D建模等任务的处理效率。由于英伟达Grace尚未投产,具体细节还不多,因此这里这种片内共享所带来的加成效应,我们继续以苹果M1举例,我们知道苹果初代M1显存与内存加在一起只有16G,而M1前一代的MAC PRO内存是128G,光是显存都有都与M1持平16G,不过搭载M1的入门版MAC在进行图像处理等任务时,却要比上一代顶配的MAC还要强出近一倍。而本次发布的M1 MAX更是直接将内存带宽提升到初代M1的6位,其性能加强的程度也就可想而知了。

正如上文所说英伟达最近发布处理器中用到的缝合技术NVlink,其实采用了和苹果比较类似的思路。未来不排除英特尔和AMD也会跟进,今后内存也很可能不会再是一个单独的元件了,被集成起来也会是一种趋势。

AI算力史诗级提升,元宇宙可期

在AI优化方面,现在看来未来主流的Tensor也就是矢量的主流格式正在由FP32向FP8。我们看到在英伟达最新的显卡H100中,主打的矢量格式就已经明确是FP8了。

不管是AI计算,还是元宇宙概念,其最基本的计算单元都是矢量。以深度神经网络为例,神经元可以抽象为对于输入矢量乘以权重以表示信号强度乘积加总,再由ReLU、Sigmoid等应用激活函数调节,本质是将输入数据与权重矩阵相乘,并输入激活函数,对于有三个输入数据和两个全连接神经元的单层神经网络而言,需要把输入和权重进行六次相乘,经典CNN中无论GEMM的矩阵乘法运算还是卷积地乘加计算都是使用fp32也就是用32位字长的数字来表示的,在这种情况下如果我们可以使用fp8来作为输入表示此以过程,其计算量至少可以下降75%。尤其在图像处理的场景下,通常由fp32到fp8的转换,如果方案得当,其精度损失是低于1%的。因此在针对fp8类型的计算加速也就是业界都在探讨的话题。

由于之前英特尔去年至强三代中引入的VNNI已经针对FP8进行过加速优化,据笔者所知咱们国内某大厂在实时生成用户3D头像模型的应用中,在VNNI的支持下可以在精度降低1%的情况下,性能还提升了4.23倍。而这次英伟达的发布会上,黄仁勋的说法也为FP8投上了关键一票。

RISC的自带光环,超强的译码器

目前处理器的流水线一般分为取指、译码、取操作数等等环节,其中译码是一个非常重要的环节。译码器方面ARM架构的精简指令集的确有一定优势,由于指令都是定长的,完全可以做出高效的多路译码器以提升效率。据笔者所知之前初代M1应该是四路译码,目前的M1 MAX和Ultra都是6路指令解码器,8µop发射宽度,6路分配、10路执行端口的指标。但是英特尔和AMD想用缝合方案的话,就需要实现像M1 Ultra这么强的译码器,但由于X86指令集是变长的,因此X86芯片的译码器一般都先按短码进行翻译,遇差错再返工,这也就很难在相同的功耗下达到很强的译码效率。

未来趋势-打破指令集之间的墙

在英特尔IDM2.0的战略当中有重要的一个原则,就是敞开大门,全面接收各种芯片的订单,同时也可以考虑在同一芯片中集成多种不同指令集的核心,这可能终极的缝合目标,也就是同一块芯片中可以由英特尔的CPU当大核,ARM的CPU当小核,AMD的显卡当GPU的神奇组合。

这种趋势在英特尔在去年发布的Alder Lake处理器中搭建的Thread Director上已经显出端倪。Thread Director就是这样一种软、硬结合的核心调度方案,英特尔的做法是在处理器中集成了一个专用的MCU,用来监控当前处理器内核的运行情况,能够监测到每个线程的特征,比如它运行什么样的指令集、它的性能需求如何等等。在收集完信息之后,MCU会将收集到的信息反馈给操作系统,再次操作系统把这些信息与线程调度信息相结合,判断是否应该将线程转移到别的核心上。如果与操作系统结合的好话,那么一轮调度信息采集工作仅需要30微秒就能完成,而传统方案调度器可能需要100多毫秒才能判断出结论。而据笔者所知Alder Lake上集成的这颗调度用的MCU就是RISC-V的核心,一切就是这么奇妙。

天下大势合久必分,分久必合,因此缝合芯片,也符合现在芯片行业的发展趋势,不过这种缝合这款处理器如何在虚拟化的云环境中,为不同用户提供服务,并进行严格的隔离可能也是一个难点,但是可以肯定的是英伟达、英特尔和苹果的接连站台,缝合式芯片的未来可期。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一篇文章教会你使用word域代码(seq field code )
word域代码常常用于自动增长的序列表示,比如论文中的图号、表号。这是一个非常有用的技能,建议花十分钟打开word跟着走一遍。
全栈程序员站长
2022/07/01
11.6K0
一篇文章教会你使用word域代码(seq field code )
用域代码任何带圈字符都能做出来
大家好,又见面了,我是你们的朋友全栈君。在文档中按下“Ctrl+F9”组合键输入域记号(一对大括号{},不能用键盘直接输入),在域记号中输入如下域代码:eq /o/ac(○,11B)。设置好字体、字号等。
全栈程序员站长
2022/09/01
3520
MyEclipse、eclipse代码自动补全(联想输入)「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。MyEclipse(eclipse)的自动补全(联想输入)分两种,直接提示和按快捷键提示,设置方法分别如下 一、每次输入都自动提示 Window->preferences->Java->Editor->Content Assist 再右下角Auto activation triggers for Java里面改为
全栈程序员站长
2022/08/23
3K0
MyEclipse、eclipse代码自动补全(联想输入)「建议收藏」
pycharm英语怎么读_pycharm快捷键翻译「建议收藏」
PyCharm默认的键盘对应PyCharm默认的键盘对应PyCharm默认的键盘对应
全栈程序员站长
2022/09/25
4670
Mac系统Unity3D中的快捷键
command+N 新建场景 command+O 打开场景 command+S 保存场景 Shift + command + S 场景另存为 Shift + command + B 编译设置 command + B 编译并运行 command + z Undo 撤销 shift + command + z Redo 撤销 command + X Cut剪切 command + C Copy拷贝 command + V Paste粘贴 command + D Duplicate 复制 shift + Del Delete 删除 command + F 查找 command + A 全选 command + P Play播放 Shift + command + P Pause暂停 Alt + command + P step停止 command + R Refresh 刷新 Shift + command + N 新建空GameObject Alt + command + F Move to View 移动到视图 Shift + command + F Align with View 视图对齐 command + 1 选择Scene视图 command + 2 选择Game视图 command + 3 选择Inspector面板 command + 4 选择Hierarchy 视图 command + 5 选择Project 视图 command + 6 打开Animation动画窗口 command + 7 打开Profilter分析器 command + 8 打开Particle Effect 粒子窗口 command + 9 打开Asset store资源商店 command + 0 打开Asset server资源服务器 shift + command + C 打开Console 控制台 Q 切换平移模式 W 切换移动模式 E 切换旋转模式 R 切换缩放模式 Z Pivot Mode toggle 轴点模式切换 X Pivot Rotation toggle 轴点旋转切换
全栈程序员站长
2022/08/31
8680
Ubuntu系统操作快捷键
Ubuntu操作基本快捷键 * 打开主菜单 = Alt + F1 * 运行 = Alt + F2 * 显示桌面 = Ctrl + Alt + d * 最小化当前窗口 = Alt + F9 * 最大化当前窗口 = Alt + F10 * 关闭当前窗口 = Alt + F4 * 截取全屏 = Print Screen * 截取窗口 = Alt + Print Screen 默认特殊快捷键 * 展示所有窗口程序 = F10 * 展示当前窗口最上层程序 = F11 * 展示当前窗口所有程序 = F12 * 切换窗口 = Alt + Tab * 旋转3D桌面 = Ctrl + Alt + 左/右箭头(也可以把鼠标放在标题栏或桌面使用滚轮切换) * 旋转3D桌面( 活动窗口跟随) = Ctrl + Shift + Alt + 左/右箭头 * 手动旋转3D桌面 = Ctrl + Alt + 左键单击并拖拽桌面空白处 * 窗口透明/不透明 = possible with the “transset” utility or Alt + 滚轮 * 放大一次 = 超级键 + 右击 * 手动放大 = 超级键 + 滚轮向上 * 手动缩小 = 超级键 + 滚轮向下 * 移动窗口 = Alt + 左键单击 * 移动窗口时贴住边框 = 左键开始拖动后再 Ctrl + Alt * 调整窗口大小 = Alt + 中击 * Bring up the window below the top window = Alt + middle-click * 动态效果减速 = Shift + F10 * 水纹 = 按住 Ctrl+超级键 * 雨点 = Shift-F9 * 桌面展开= Ctrl + Alt + 下箭头,然后按住 Ctrl + Alt 和左/右箭头选择桌面
全栈程序员站长
2022/07/15
5850
Java学习之IDEA调试快捷键
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119914.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/13
4820
VScode快捷键(最全)[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131686.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
1.3K0
pycharm使用技巧及常用快捷键_程序运行快捷键
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/28
6880
pycharm断点运行_python断点调试技巧
断点调试是在开发过程中常用的功能,能清楚看到代码运行的过程,有利于代码问题跟踪。对我这个小白开发来说,还有一个作用是快速熟悉代码,拿到别人写的代码,有时看不太懂或看的很吃力,光这样看很无感,但是通过断点调试,可以很清楚的看到代码是怎么走的,每一步的参数的值等,驱动代码熟悉。
全栈程序员站长
2022/09/27
2.2K0
pycharm断点运行_python断点调试技巧
Pycharm中Debug的基本用法和高级技巧
今天测试自己写的代码,测试了很多次都是实际结果与心里预测不相符,甚至一度怀疑Pycharm除了问题,哈哈。最后debug了一下,才发现是自己的操作问题才导致了错误的结果,看来Debug真的是个好侦探,让你不会乱怀疑。下面就和大家分享一下我在Pycharm上Debug的心得
全栈程序员站长
2022/09/25
1.6K0
Pycharm中Debug的基本用法和高级技巧
webstorm 2020.3 格式化代码快捷键
3、在左上角的搜索栏中输入【keyMap】,在右边的搜索框中输入【format】,出现下面框架中,【Reformat】的快捷键【ctrl+alt+L】或者【ctrl+shift+f】
全栈程序员站长
2022/06/29
1.4K0
webstorm 2020.3 格式化代码快捷键
pycharm设置断点单步运行_pycharm怎么debug
在我们平时写程序的时候,简单的程序一眼就能看出问题所在,但是稍微大一点的程序,就很难在茫茫代码中找到一个参数的失误带来的bug,所以我们引入debug单步调试。
全栈程序员站长
2022/09/27
1.8K0
pycharm设置断点单步运行_pycharm怎么debug
Word 域代码:TOA(引文目录)域「建议收藏」
建立一个目录。TOC 域根据标题级别、指定样式或由 TC(目录项)域指定的项目来收集目录项。在使用“插入”菜单中“引用”子菜单中的“索引和目录”命令时,Microsoft Word 将插入 TOC 域。
全栈程序员站长
2022/09/02
2.9K0
Word域的应用和详解
■第一章 域基础 一、域的作用   微软的文字处理软件Microsoft Word系列,其方便和自动化程度是其他任何文字处理软件所望尘莫及的。究其原因,其一,微软有强大的软件开发技术人员队伍。其二,Word与其本公司的操作系统 Windows的密切结合。微软至今也没有公布Windows 操作系统和Word 文字处理软件的源代码,就是为了保住自己的垄断地位。其三,在 Word 中引入了域和宏,将某些特殊的处理方法用函数或编程的的形式交给用户,大大提高了文字处理的灵活性、适应性和自动化程度。   由于域和宏的引入,Word 文档易受病毒的攻击。此外,要灵活使用域和宏,要求用户学习一定的编程基础知识。一提到编程,有的人就感到头痛。其实,Word中的域和宏所包含的知识是非常基础的,也是比较容易学会的。   域相当于文档中可能发生变化的数据或邮件合并文档中套用信函、标签的占位符。   通过域,可以调用宏 命令;也可以通过宏的语句在文档中插入域。   现在我们通过举例来简单了解一下Word 中的域能干些什么:    1. 给段落自动编号,如:1. 2. 3. ,一、二、三、,1.1.1,1.1.2,等等。    2. 插入用常规方法无法实现的字符,如:
全栈程序员站长
2022/07/01
7.5K0
Word域的应用和详解
pycharm单步调试快捷键_pycharm运行代码快捷键
Shift + Tab # 选中一段代码然后按 Shift + Tab 可以进行反向缩进
全栈程序员站长
2022/09/27
6300
pycharm单步调试快捷键_pycharm运行代码快捷键
word页数域代码
使用alt+F9显示域代码,使用ctrl+F9插入域代码,注意:必须用ctrl+F9插入域代码,自己打括号无效
全栈程序员站长
2022/06/27
4090
关于word中mathtype编辑的公式以域代码/域值显示的问题
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142068.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
1.6K0
关于word中mathtype编辑的公式以域代码/域值显示的问题
pycharm整理格式快捷键_python代码对齐快捷键
Ctrl + D 复制选定的区域或行 Ctrl + Y 删除选定的行 Ctrl + Alt + L 代码格式化 Ctrl + Alt + O 优化导入(去掉用不到的包导入) Ctrl + 鼠标 简介/进入代码定义 Ctrl + / 行注释 、取消注释
全栈程序员站长
2022/09/27
1.4K0
pycharm加注释的快捷方式_pycharm全部注释
Ctrl + R 替换 Ctrl + Shift + F 或者连续2次敲击shift 全局查找{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的} Ctrl + Shift + R 全局替换
全栈程序员站长
2022/09/27
4650
推荐阅读
相关推荐
一篇文章教会你使用word域代码(seq field code )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档