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

2023-05-16

历史不会简单重复,但总是惊人的相似。之前在电影、游戏等人文领域流行的缝合风,似乎也对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的核心,一切就是这么奇妙。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 算法建模语言比较:C的优势(相比于Matlab)

    数据结构定义 structure 方便组织相关数据 union 方便多角度访问数据 xff08 软件角度 硬件角度等 xff09 bit field 方便硬件角度访问数据 内存分配方式 malloc 预先 灵活申请内存空间 xff0c 拓展
  • 学会使用CMakeLists.txt在VScode中搭建C++工程

    目录 一 Cmake 简介 二 常用命令 1 指定 cmake 的最小版本 2 设置项目名称 3 设置变量 3 1 set 直接设置变量的值 3 2 set 追加设置变量的值 3 3 list 追加或者删除变量的值 4 添加第三方库或链接其
  • WIN10源码编译安装QGC-V3.4

    目录 写在前面 环境 安装VS2015 xff08 采用的是社区版 xff09 安装Git xff08 见GIT安装教程 xff09 并克隆QGC源码 安装Qt xff0c 并用Qt进行编译 运行 安装注意事项 写在前面 最近想起来之前有过
  • 飞控固件烧录方法

    目录 写在前面 方法一 方法二 写在前面 整理两个烧录飞控固件的方法 方法一 1 xff09 waf targets bin ardusub upload 这时两个过程 xff0c 第一个过程target 会产生一个 px4 文件 xff0
  • Ubuntu 20.04 LTS 安装qt4 library

    How to Install Qt4 Libraries in Ubuntu 20 04 LTS July 9 2020 3 Comments The Qt4 framework has been removed from Ubuntu 2
  • STM32接入ONENET-实现数据上传和命令下发

    前言 xff1a 使用ONENET平台进行远程传输数据和远程控制开发板是相对简单的事 xff0c 但由于ONENET官方给的代码只对他家的开发板比较友好 xff0c 对于初学者来说修改这些代码相对麻烦 xff0c 所以我就分享一份STM32
  • 从x86到ARM,代码移植指北

    最近ARM架构的处理器从云到端全面开花 xff0c 比如苹果MAC上的ARM架构处理器M1 MAX就堪称王炸 xff0c 华为的鲲鹏系列ARM处理器也已经稳定服务了很长时间 xff0c 目前业内有口皆碑 xff0c 因此基于x86环境编写的
  • AGV车载控制系统搭建(初学者入门)

    本文转载 xff1a 博主 robinvista的http blog csdn net robinvista article details 78349627 目的 本文介绍 AGV 车载控制系统的实现过程 xff0c 可以分为硬件搭建和软
  • 激光无轨导航AGV,未来智能工厂的必需品

    这篇文章结合一家激光无轨导航AGV公司 xff0c 开启了进入AGV领域的学习与总结 随着国家政策大力支持 xff0c 智能制造 工业4 0 人工智能等等成为了风口 xff0c 热门话题 智能制造中重要的一环 xff0c 物流搬运 分拣和智
  • 【FreeRTOS源码阅读】<2> task.c (1) 任务创建以及TCB、List的结构

    上篇讲述了list c关于链表操作的源码阅读 xff0c 此片文章将开始阅读task c task h相关结构体 由eTaskGetState返回的任务状态 typedef enum eRunning 61 0 一个任务查询自己的状态 xf
  • github仓库添加指定commit版本的子模块

    添加子模块 git submodule add repository url local path 进入子模块目录 xff0c 将子模块回滚到指定commit版本 git reset hard commit number
  • 使用阿里云的k8s部署访问环境

    阿里云推出的kubernetes版本是1 97的 xff0c docker的版本是17 06 2 ce 3 xff0c 用的都是比较新的 xff0c 相比自己搭建集群 xff0c 使用阿里这个还是比较省事的 xff0c 不需要自己研究怎么写
  • 阿里云Ubuntu服务器图形界面配置(详细步骤,萌新看过来)

    刚买完阿里云Ubuntu服务器后 xff0c 发现并没有图形界面 xff0c 就想办法在网上搜集了一些资料配置 xff0c 结果发现一些资料配置过程并不适用于萌新 所以写这篇博客 xff0c 一为记录 xff0c 二为让萌新更快更方便的配置
  • STL简单了解

    STL xff08 Standard Template Library xff0c 标准模板库 xff09 xff1a 是一种类型参数 xff08 type parameterized xff09 的程序设计方法 xff0c 基于模板的标准
  • ROS编译D435i过程中的问题及解决

    请确保已经正确安装了ROS OPENCV realsense viewer 编译出现第一个问题 96 traversing 5 packages in topological order realsense2 camera msgs pla
  • 本科毕业设计 基于ORB SLAM3的多从机SLAM导航系统

    耗时 xff1a 两个月 需求 xff1a 多从机协作 多地图系统 稠密建图 定位 导航 硬件 xff1a 二个D435 一台X86主机 xff08 CPU 13600kf 内存 32G xff09 X86主机环境 xff1a ubuntu
  • 平衡小车之家高配版全向轮小车部分源码分析(蓝牙控制端和运动控制端)

    提前说说 intel杯初选赛过了 xff0c 接下来就是区域决赛 准备时间有两个月 xff0c 时间还是比较紧张 xff0c 必须在这两个月内把所有的知识都消化掉 接下来的打算是想面试几家公司 xff0c 试试自己的水准 xff0c 打好比
  • 当我们在谈SWIFT时,到底在谈什么?

    胜利往往伴随着放弃不切实际的幻想 当地时间2月26日 xff0c 美国 英国 欧盟与加拿大发表共同声明 xff0c 宣布将俄罗斯主要银行从SWIFT体系中剔除 SWIFT凭借着其强大的制裁效果 xff0c 在民间一直有着金融核武器之称 xf
  • 使用Aruco二维码实现定位

    首先使用cv aruco estimatePoseSingleMarkers 函数后得到两个很重要的数据revc和tevc xff0c 分别是旋转向量和平移向量 通过这两个数据就可以得到相机在世界坐标系下的坐标 此处需要了解solvePnP
  • QGC关于SetMode运行流程解析

    QGC与飞控连接后初始化 xff0c 初始飞行模式为手动模式 模式切换在Vehicle中使用 base mode和 custom mode存储模式 xff0c 初始值均为0 当QGC与飞控连接后 xff0c 飞控通过心跳包 xff08 he

随机推荐