5大维度对比主流芯片架构,类脑芯片未来可期
主讲导师|冯杰
本文编辑|梁家祥
7月17日,智东西公开课推出的AI芯片系列课进行完第四讲,由灵汐科技首席架构师冯杰主讲,主题为《类脑芯片的架构演进》。冯杰老师围绕CPU、GPU、FPGA、ASIC以及类脑等代表性芯片架构从算法支持度、规模扩展性、有效算力、有效算力成本比、有效算力功耗比五个维度做了详细的对比分析,并对Tianjic类脑芯片架构的高算力、低功耗、高扩展性和高并行度及应用做了详细介绍,本文为冯杰老师的主讲实录,共计13868字,预计读完需要13分钟。
主讲实录
冯杰: 大家好,我是灵汐科技芯片架构师冯杰。感谢智东西提供交流平台,让大家能够在一起交流人工智能的发展。今天我分享主题为《类脑芯片的架构演进》。以下是今天要分享的提纲:
1.人工智能的驱动力和现状
2.代表性芯片架构分析
3.人脑的启示
4.Tianjic芯片架构分析
5.灵汐科技的类脑计算平台
这张图相信大家都很熟悉,它揭示了这些年人工智能在某些领域蓬勃发展的根本原因,也就是说,在合适的时机,有大量的数据、有效的算法以及比较高的算力进行有机结合,推动了人工智能的高速发展。
今天,很多领域都能看到人工智能的身影,从创作到游戏,从金融到安防等,很多行业为了提升效率和品质,都在采用AI技术,因此有人说我们正在进入智能时代,在我看来,这并没有夸张,至少我们已经站到智能时代的门槛附近了。
但是,今天我们也不得不看清一个严峻的现实,那就是数据量越来越大,数据类型越来越多,从以前主要的文本信息,到后来的图像信息、音频信息、视频信息,再到现在和未来各种传感器信息,数据的种类是五花八门,多种多样,数不胜数的;在算法上,不同的应用领域有不同的算法涌现,比如有图像识别算法、语音识别算法以及目标跟踪算法等,各种算法日新月异,种类繁多,高速发展。但是它们的基点,也就是算力的进步却越来越慢,已经大大落后于数据和算法的需求。我们都知道提供算力的是芯片,我们也知道芯片工业的发展已经快到极限了,目前是7nm量产,也许明年后年就是5nm或者1nm会量产,也可能在未来会有更小的尺寸,但没有人知道能不能继续维持下去,到目前为止,能够实用的新材料暂时还没有看到。
数据和算法还在继续高速发展,我们需要立足于现状,分析问题的原因,找出解决的办法,接下来我会对数据、算法以及算力一一加以分析。
从这张图可以看到,数据量在呈指数级增长,由于数据量是由数据的产生方式、存储方式以及传播方式决定的。因此,随着科技的进步和社会的发展,数据量一定是越来越大的。
今天我们每个人都是大量数据的制造者,比如平时拍照、录音、录视频、刷朋友圈等,再加上物联网时代正在走近,如果在未来真正实现了万物互联,数据量会更加庞大。数据包含有用的数据和垃圾数据,当然,有用数据和垃圾数据是相对的,取决于怎么使用这些数据,谁使用这些数据。
如何对海量数据进行分类,分辨出有用数据,还是垃圾数据,以及如何对这些数据进行处理,挖掘出有用数据的价值,让它们服务于人类呢?这是一个巨大的挑战。
人力是有限的,数据是无限的,靠人工肯定是不可能的,只能靠人工智能代替人对数据进行分类和处理,并服务于人类。而人工智能之所以能够处理这么大的数据,靠的是算法,接下来我们来看看人工智能的算法。
首先是人工神经网络的算法,这是我们最熟悉的人工智能算法。目前最流行最强大的深度学习算法就是最有代表性的人工神经网络算法,这张图片描述了人工神经网络的发展历程。
1943年,心理学家MeCulloch和数理逻辑学家Pitts第一次提出人工神经网络的概念,同时也提出了第一个人工神经元的数学模型,也就是著名的MP模型(神经元的阈值模型),人工神经网络的时代就此开启。但是,纵观整个人工神经网络的发展并不是一帆风顺,也是几经波折才发展到今天的繁华局面。
1958年,Rosenblant在原油的MP模型基础上提出了非常著名的感知器概念,也叫感知器模型。它是一种最简单的二元线性分类器,后来被广泛应用。感知器模型的提出和应用迎来了人工神经网络发展的第一次高潮。1969年,Minsky和Papert发现感知器不能处理线性不可分问题,也就是“异或”问题,看起来挺简单的“异或”问题,感知机无法解决;同时,由于当时的计算机也是刚刚发展不久,性能很低,很难快速运行大规模的神经网络的计算,因此人工神经网络的发展第一次陷入了低潮。但是人工神经网络的发展并没有就此停滞,还是有一批人前赴后继,寻找前进的道路。
直到1974年,Werbos提出误差反向传播有监督学习算法,也就是我们今天都在用的BP算法,用误差反向传播算法可以训练多层感知机即MLP,它有效地解决了“异或”问题,这是很重要的一步,算是彻底迈过了1969年Minsky和Papert给我们留下来的难题,翻开了人工神经网络发展的新篇章。
1982年Hopfield提出了著名的Hopfield网络。Hopfield是模拟人类记忆的循环神经网络模型,对神经网络的信息存储和提取进行非线性的数学描述。到1986年,Rumelhart和McCelland提出了BP神经网络,采用Sigmoid非线性结构函数(也叫S函数),并且系统地建立了多层感知器的BP学习算法,后来在1989年,三层或三层以上的BP网络从数学上也被证明了可以逼近任何封闭区间内的连续函数,这就是著名的万能逼近定理。
万能逼近定理是指一个前馈神经网络如果具有线性输出层和至少一层具有某种“挤压”性质的激活函数的隐藏层,例如Sigmoid激活函数,只要给予网络足够数量的隐藏单元,那么它就可以以任意精度来近似任何从一个有限维空间到另外一个有限维空间的Borel可测函数。简单来说,就是三层的BP网络,如果中间隐藏层足够宽,同时带上合适的激活函数,就可以让一个空间无限逼近另外一个空间的函数,当然,我们知道这只是理论上的。
1989年,LeCun在论文中提到的CNN BP训练方法,算是人工神经网络的第二次高潮。回顾人工神经网络的发展历程会发现,我们的前辈是非常聪明的,无论是BP算法还是CNN的提出,他们在几十年前就已经为我们打下了坚实的基础,而我们只是在做一些实现,实现他们当时不具备条件去验证以及大规模推广的理论,我们今天的进步都是站在他们的肩膀上取得的。
上个世纪末九十年代,人工神经网络又碰到了难题:基于Sigmoid激活函数深层人工神经网络在训练时会遇到梯度消失的问题。也就是说BP训练过程中传递的误差从后往前越来越小,误差传到浅层时几乎为零,很难进行更有效的学习训练,简单地说,就是网络深度无法再增加了,性能受限了。
同时,九十年代互联网的飞速发展吸引了绝大多数人的眼光,即使当时人工智能领域比如专家系统也取得了不小的进步,但是很少有人关注,这个时期算是人工神经网络的第二次低潮。当然人工神经网络的研究并没有停滞,而在这个时期,LSTM模型在1997年被提出,同时LeNet也在1998年被提出。
直到2006年,多伦多大学教授Geoffrey Hinton把单层受限玻尔兹曼机堆栈成了多层深度信念网络(Deep Belief Network,简称DBN),并且提出了无监督逐层贪婪预训练方法,再结合全局有监督BP算法进行微调,使得七层以上的神经网络训练得到收敛。Hinton让我们看到了深度学习的曙光,我们确实即将迎来了深度学习高速发展的时代。因此有人说2006年是深度学习元年,Hinton被人尊称为深度学习之父。
接下来几年深度学习一直在发展,比较重要的是2011年,大家用不连续可导的ReLU激活函数代替原来一直使用的连续可导激活函数,比如Sigmoid激活函数。ReLU的运用抑制了深层网络训练梯度消失的问题,让我们能够进一步加深网络。因此在2012年,Hinton的学生提出了AlexNet,第一次使用深度达到八层的CNN网络,并在当年的ImageNet图像识别大赛中取得冠军。
从2012年开始,接下来四年的图像识别大赛中算法的识别率越来越高,直到2015年的ResNet,它的识别率达到了96.43%,已经高于人眼识别率(大概是95%)。ImageNet图像识别大赛对深度学习算法的发展起了很大的推动作用,大赛期间伴随着人工神经网络的深度越来越深,网络结构越来越复杂,性能也越来越好。
在人工神经网络算法发展的过程中,还伴随着几个标志性事件的发生,也就是图上面的那些红点。比如1997年IBM深蓝计算机在国际象棋中打败了当时的世界冠军,取得了不小的轰动;而最引人注目的还是2016年,AlphaGo击败李世石,这场比赛的结果才算是真正点燃了大众对人工智能的关注,让大家把目光投向了人工智能领域,紧跟着就是资金和人才大量向人工智能领域汇集,为人工智能进一步发展开启了一个黄金时代。今年(2018)六月份,在DOTA 5V5游戏中,人工智能又胜过业余玩家,我想胜过职业玩家应该指日可待,在这个游戏中,人工智能已经开始表露出了配合、引诱甚至牺牲的策略,我相信这又将是人工智能发展的一个里程碑。
从以上的回顾中,我们能看到人工神经网络虽然几经沉浮,但是也取得了傲人的成绩,而且直到今天,在不同的应用领域中,深度学习算法还在继续前进,比如融合不同的网络以及一些传统算法来解决更多更高难度的任务。
但是我们也应该看到,现有的深度学习算法也有它固有缺陷。比如我们曾经想尽办法在宽度上拓展网络,取得了性能的提高,后来又想尽办法在深度上挖掘,取得了显著的性能提升,可是到了今天,我们发现,继续增加网络的深度和宽度,性能都不会再得到提高了。曾经最引人注目的图像识别领域,这几年的性能几乎没有提升,2015、2016以及2017年的误识率基本上都在3%左右。也许现在正是我们把目光投向人工神经网络以外的其他算法领域的时候了,比如神经动力学。
神经动力学其实比人工神经网络出现得更早。早在1907年就出现了神经元的行为学模型“LIF”模型;1952年又出现了神经元的仿生学模型“Hodgkin-Huxley”模型(简称HH模型);2003年出现了介于行为学模型和仿生学模型之间的“lzhikevich”模型。
神经动力学和人工神经网络都属于人工智能连接主义研究的范畴,但是它们的侧重点是不一样的,人工神经网络,比如DNN是借鉴大脑对信息分层处理的特性,在空间上模仿大脑;而神经动力学是既借鉴大脑神经元连接的空间特性,又借鉴神经元处理信息的时间动力学过程,具备了丰富的时空动力学特性。所以我们觉得它更接近真正的神经元模型,也更接近于大脑的构造和信息处理机制,很有可能成为通用人工智能的突破口,但是这些都是以算力为代价的。
上面的坐标图表示不同的神经动力学模型对算力的要求和仿生学程度。横坐标代表计算不同的神经动力学模型所要花费的算力代价,纵坐标是不同模型的仿生学程度,也就是生物可信度。从图上我们可以看到仿生学程度越高所要求的算力也就越高。
比如“HH”模型在计算中有大量的微分方程,因此需要发挥很大的算力,而现在的计算机是很难进行处理的;又比如“lzhikevich”模型,对算力的要求属于中等,但是也还是很高,所以它的应用范围也不广。
“LIF”模型的数学方程和前二者比起来就简单多了。通过LIF动力学以及其他的变体可以构建多种多样的神经网络模型,最有代表性神经网络模型有两个:非脉冲编码的连续LIF模型和基于脉冲编码的LIF模型,也就是脉冲神经网络SNN。由于SNN最简单,对算力要求也最低,因此也最为我们所熟知,很多时候SNN简直成了神经动力学网络的代名词。
从上面我们可以看到,神经动力学的发展是与算力息息相关的。为了神经动力学的发展,建立起既能高效支持人工神经网络算法,又能高效支持神经动力学算法的计算平台显得尤为重要。接下来我会分析一下现有的人工智能计算平台。
从图上可以看到,人工智能计算平台主要分为通用计算平台和专用神经网络计算平台。通用计算平台主要有CPU、GPU以及FPGA。
CPU包括Intel和ARM,Intel是CISC阵营,ARM是RISC阵营。Intel主要用于PC服务器领域,提供高性能计算;ARM主要是用于移动和嵌入式领域,最大的特点是低功耗。
GPU主要是NVIDIA和AMD。但是在AI服务器领域,NVIDIA对市场的占有率达到了70%,远远高于AMD30%的占有率,他们两家几乎占到了100%的市场。
FPGA主要包括Xilinx和Altera,而现在Altera已经被Intel收购,因此未来估计FPGA领域将是Xilinx一统江湖。
专用神经网络计算平台ASIC,根据对算法支持度的不同,ASIC又分为支持人工神经网络的深度学习加速器芯片以及支持神经动力学的神经形态芯片。
支持深度学习的芯片有很多家,比如Google,GraphCore,寒武纪,Wavecompting等公司。每一家都有自己的特色,性能上面各有千秋。
神经形态芯片从实现方式来看,分为数字芯片、模拟芯片和新材料芯片。数字芯片主要有TrueNorth、Loihi以及SpiNNaker;模拟芯片主要有Neurogrid、BrainScales以及ROLLS;新材料芯片主要有Memristor组成的阵列。神经形态芯片目前并没有商用化,还处于实验室验证阶段。
从上图能够看到,通用计算平台CPU、GPU或者FPGA基本都处于巨头垄断状态,每一个领域只有一个或两个霸主,地位完全无法撼动。而神经网络计算ASIC是群雄争霸,没有人能一统江湖,这或许是我们所有人的机会,就看大家有没有能力把握住。
接下来我会对刚才介绍中很有代表性的芯片进行分析,以了解这些芯片的特点。
首先是CPU。CPU平台是数字领域中的万能计算平台,除了能够实现神经网络的计算外,还能实现其他所有的通用计算和控制。这张图片显示的是Intel最新服务器CPU的Skylake架构。
Skylake是多核架构,采用2D Mesh片上网络实现多核调度和互联,每一个核都采用传统的结构,包含计算单元、控制单元等电路。芯片与外界的互联通过PCIE接口实现,同时具有Memory Controller外挂DDR。右边的雷达图是对CPU特点的概括,我会从五个方面来总结CPU以及后面其他计算平台的特性。
首先看一下算法支持度。这里的算法是指神经网络计算算法,也就是刚才说过的人工神经网络算法和神经动力学算法。CPU是万能计算平台,它能支持所有的神经网络算法,因此它的算法支持度得分是100分。
第二个是有效算力。有效算力是指能有效发挥在神经网络计算上的算力。通常我们会说一个芯片的峰值算力是多少tops,真正把神经网络放进去计算的时候,会发现也许只有10%-20%的算力能够发挥出来,其他的算力都是浪费的。当然,算力发挥不出来的原因,不仅是芯片的因素,还有其他的一些因素,很多时候是因为软件没有做相应的优化。而在这里,我们先把软件的因素排除掉,默认软件已经是最优化了,因此只看芯片能发挥的有效算力。CPU的有效算力得分比较低,只有40分。因为CPU主要是用于通用计算和复杂控制,而神经网络计算是由某些特定的,比如大量的并行卷积运算,CPU并没有针对它们进行优化,因此它的得分不高。
第三个是有效算力功耗比,指有效算力除以所消耗的功耗。这个功耗不只是芯片自身计算的功耗,还包括计算过程中用到的存储器,比如DDR的功耗,因为有很多芯片包括大多数神经网络加速器,不带DDR是无法工作的。由于CPU的有效算力比较低,而功耗比较高,再加上DDR的功耗,因此它的有效算力功耗比得分很低,只有20分。
第四个是有效算力成本比,指有效算力除以成本。同样的,这个成本不只是包括芯片本身的成本,还包括计算过程中用到的存储器成本,由于CPU有效算力比较低,而价格又比较贵,因此它的有效算力成本比得分只有30分。
最后是规模扩展性,指多个芯片扩展互连形成大规模算力的能力。这在大型神经网络计算或者多网络协同计算时非常重要。CPU的扩展互联是通过PCIE接口实现。其实凡是用PCIE接口通过总线实现扩展互联的芯片都有比较明显的缺点,第一个缺点是扩展互联的芯片数量是有限的,一般只能是几个芯片的扩展互联,如果通过树形的方式扩展互联就形成了第二个缺点,多个芯片扩展互联后算力发挥效率会急剧下降。
比如两个100T的芯片扩展互联后,也许只能发挥80%的效率,即160T的总算力,而且扩展互联芯片的数量越多,效率下降就越快。又比如,四个100T的芯片扩展互联,结果也许只能发挥60%的效率,也就是240T的总算力,因此CPU的规模扩展性只有50分。
接下来看看第二个计算平台——GPU。
GPU是最通用,也是我们最熟悉的神经网络计算平台。大多数人从一开始学习神经网络就是用GPU进行神经网络的训练和推理,而且现在市场上能买到的真正实用的并且效率比较高的神经网络计算平台也只有GPU。
这里分析的例子是NVIDIA最新GPU V100的架构。V100是众核架构,是由很多小核组成的芯片,芯片由Memory Control负责DDR的读写,GPU有两种接口实现片外互联,一种是PCIE,一种是NVLink。NVLink是NVIDIA专门开发的高速互连接口,目的就是为了得到更好的可扩展性。
GPU对人工神经网络算法的支持度比较高,但是对神经动力学的支持效率是比较低的,因此它的算法支持度是85分。
关于有效算力,V100的有效算力是非常高的,它的通用FP16算力有30tops。而Tensor FP16的算力达到了120tops,因此它的有效算力得分90分。
GPU的功耗很高,比如V100是300瓦,但是由于它的算力非常高,因此它的有效算力功耗比是70分。
由于GPU是很贵的,V100采用12nm工艺,面积达到了815平方毫米,成本相当高,因此它的有效算力成本比得分为30分。
GPU是通过PCIE和NVLink实现互联的,由于NVLink的接口能够很好的实现它们之间的互联,因此规模扩展性得分为80分。
FPGA是由大量的可编程逻辑阵列组成,用户可以根据需要灵活地对FPGA进行编程实现想要的功能。由Memory Controller负责读写外部存储器DDR,FPGA外部电路的通信是通过多种高速串行总线接口实现的。
因为是可编程逻辑阵列,所以具有非常好的灵活性,可以针对不同的算法做不同的设计,因此FPGA的算法支持度得分很高,几乎和CPU差不多,是95分。
对FPGA进行编程是比较难的,与对CPU进行编程的难度相比,不是一个等级上的。FPGA本身的计算速度可以做到很快,但是由于需要与外部DDR交换数据,限制了其算力发挥,因此FPGA的有效算力得分是60分。
关于有效算力功耗比,FPGA比GPU的功耗要低很多,再加上它的有效算力也能够做得比较高,因此FPGA的有效算力功耗比得分是70分。
但是FPGA的成本还是比较高,尤其在大规模应用的情况下,它的成本非常高,所以算力成本比只有50分。
FPGA的规模扩展能力比较强,可以通过多组高速接口互联,所以其规模扩展性能得分80分。
TPU是真正专门为了人工神经网络计算而打造的一款加速器芯片,它的架构是针对人工神经网络算法优化过的,芯片内部有大量并形的计算单元阵列,也有比较大的片内储存,还有Memory Controller负责读写外部存储器DDR,由PCIE实现芯片扩展互联。
TPU能高效的支持人工神经网络算法,但是对神经动力学算法的支持度比较低,所以其算法支持度得分80分。
TPU的算力比较高,对Tensor FP16,算力能达到45tops,在优化软件程序后,TPU算力效率能够发挥到60%多,因此其有效算力得分是70分。
TPU的功耗大约是130W,因此它的算力功耗比得分是60分。大家可以发现现在很多人工神经网络加速器的算力功耗比都不是很理想,大部分都低于GPU功耗比。
TPU的算力成本比得分是80分,因为它虽然只有45tops,但是它是在比较便宜的28纳米的工艺上实现的。
TPU扩展互联的接口还是PCIE,因此得分60分。
神经形态芯片,这里以IBM的TrueNorth为例。TrueNorth是众核架构,里面的每一个神经元阵列就是一个小核,所有的核都是存算一体,即工作时不需要外带DDR,每一个小核使用2D Mesh片上网络实现互联,片间互联是通过LVDS接口。
TrueNorth基本上只能支持神经动力学的SNN算法,对人工神经网络算法的支持度极低,所以算法支持度得分为30分。
而且TrueNorth算力也很低,只有58gops,与一般加速器常见的几十tops相比是非常低的,所以有效算力得分只有10分。
TrueNorth虽然算力很低,但是功耗也很低,100多毫瓦,因此它的有效算力功耗比有70分。
但是由于有效算力太低,而成本并不低,采用28nm工艺,面积达到了430多平方毫米,因此它的有效算力成本比只有10分。
TrueNorth采用的是2D Mesh片上网络,芯片与芯片之间可以通过LVDS串口直接互联,因此具有非常好的可扩展性,得分为90分,这也是TrueNorth最大的优势之一。
从这些数据可以看到,TrueNorth是一款有显著优缺点的芯片,包括存算一体、算力极低、算力功耗比高和可扩展性强的特点,这也是很多目前形态芯片的普遍现象,它们基本上都只能支持神经动力学算法,对更加流行更加成熟更加强大的人工神经网络算法比如CNN算法的支持度很低,因此这些神经形态芯片现在几乎没有办法商业化,处于实验室验证阶段。
分析了这么多的计算平台后,接下来看看人脑到底有哪些特点?
首先人脑是存算一体的,显而易见人脑的存储信息和处理信息是一起的。在刚才提到的各种计算平台中,无论是CPU、GPU、FPGA还是深度学习加速器,它们采用的都是存算分离的冯诺伊曼结构,因此在提高性能时有一个很大的瓶颈,就是存储带宽限制的问题。当然,神经形态芯片有的是存算分离,有的是存算一体,但是可惜的是,它们的算法支持度和算力都太低了。
人脑的第二个特点是具有极大的规模性,我们知道人脑是由上百亿个神经元细胞组成的,这些神经元细胞通过极其复杂的互联形成了一个规模巨大的有机系统,因此很多人认为要模拟真正的人脑,一定要达到某种规模才能看到类似人脑的效应,这也是TrueNorth一直追求大规模互联的原因。
人脑的第三个特点是具有一些比较明显的功能分区,比如视觉区、听觉区、情感区等,这些不同的功能分区有机的结合在一起,互相配合着完成大脑的活动。
第四个特点,人脑处理任务时具有极高的并行度,因为我们在任何时候都是在同时做多件事,比如一边走路一边唱着歌,眼睛还一边欣赏着美景等,人脑能够让它们互不干扰,完全并行。
第五个特点,人脑具有极低的功耗。虽然我们人脑能处理这么多复杂的任务,但是消耗的能量却是极低的,才20W左右。举个例子,刚才提到的GPU,实现一个单一的任务功耗就达到300W,或许同样单一的任务对于人类来说也只是轻松地瞟一眼。当然,人脑还有其他很多特点,比如计算的高容错性、不确定性等。我们正是受到人脑这些特点的启发,开发出类脑芯片Tianjic的。
Tianjic采用优化过的众核架构,由一系列核构成阵列完成神经网络的计算。为什么要使用优化过的众核架构呢?因为我们认为,在摩尔定律即将失效的今天,在现有的工艺基础上,从优化架构入手可能是提高芯片性能最重要的手段。
当然,局部电路的优化,比如优化某些乘加器,提高它们的工作频率也可以提高性能,又或者随着Package技术的进步,把加速器芯片和HBM封装在一个package里面,也是提高性能的手段,但是这些手段带来芯片性能的提升跟优化架构带来的性能提升相比是微不足道的。架构就像物种的基因,一颗小草尽管使劲地施肥,它也长不成一棵参天大树,无非是一颗比较高大肥壮的小草而已,因为这是基因决定的。
CPU和GPU每一次大的性能提升也都是从架构入手,用新的架构代替旧的架构。比如GPU是从Kepler架构到Pascal架构,再到现在V100的Volta架构,因此它的性能才提升到现在的高度。当然,这些都还是在传统的冯诺伊曼架构基础上的提升。
而Tianjic,由于每一个核都自带存储区,所有的计算数据都在本地操作,因此从芯片的层面看,Tianjic在总的架构上已经超越了传统的冯诺伊曼结构,所以Tianjic不像传统架构的芯片一样在计算的时候必须与DDR进行大量的数据交互而受存储带宽的限制,使整个芯片的性能受到影响。这是Tianjic芯片算力高的一个极其重要的原因。因为不用从外部导入数据,因此它的功耗比较低,也节省了成本和空间。
同时,我们每一个核里面都有一个通用处理器,也就是说核阵列包含由多个CPU组成的CPU阵列,因此具有极大的灵活性,能高效的支持各种神经网络算法。
Tianjic芯片采用的是2D Mesh片上网络结构,用于核与核之间的通信互联。芯片与外部的通信是通过高速串口实现的。
接下来我会讲一下Tianjic芯片的互连。
当我们想要扩展算力的时候,可以通过高速串口实现片间互联,而且可以从东南西北四个方向同时扩展,因为我们的串口带宽很高,能够保证计算过程中足够快的传输片间信息,因此从总体上看,所有的芯片都是无缝连接的,并且扩展互联不会降低算力的效率,也就是说有多少个Tianjic芯片互联就能得到多少倍单Tianjic芯片的算力。
这是Tianjic芯片架构相对于传统芯片架构又一极大的优势。这样就可以用Tianjic芯片组成一个具有极高算力和极大规模的芯片阵列,甚至可以尽可能接近人脑规模。
Tianjic的众核架构和2D Mesh片上网络相较于传统芯片架构还有一个极大的优势,就是多核重组特性。因为Tianjic芯片的核阵列中是众核平等的,核与核之间没有主从之分,当多Tianjic芯片组成芯片阵列时,阵列中芯片与芯片之间没有主从之分。因此,在用户眼里,整个芯片阵列就是一个巨大的核阵列,用户可以灵活的用软件来配置自己的任务,把不同的任务同时配置在不同的核组中,真正的实现多任务的并行处理,不管任务之间是有关联性还是没有关联性。这就很像人脑的行为,前面我们分析过,人脑不同的区域有不同的功能,并且能够高效并行的处理各种任务。
正是在大脑的启发下,我们设计的Tianjic芯片让我们看到了模拟人脑的希望,也看到了可能实现通用人工智能的希望。
我们给客户提供的是不仅仅是一块芯片,还包括一整套解决方案:最底层是Tianjic芯片,负责提供算力;在芯片的基础上,我们会提供给客户完备的工具链;我们会帮助客户把算法高效的在芯片上运行,也会对客户的应用提供最好的服务。
接下来我将对工具链算法和应用加以说明。
工具链是非常重要的,也是我们工作的重中之重。大家都知道GPU在AI领域拥有绝对的优势地位,它之所以这么强大,除了具有强劲的性能以外,还有它强大的工具链,因此我们一定会竭尽全力打造一款强大的全栈式工具链,给客户提供各种层次的开发工具。
例如,如果客户嫌麻烦,那就可以使用我们通用的API,客户只需要把通用的框架,比如TensorFlow或者Caffe训练出来的网络原封不动地交给我们的应用接口,我们的工具就会自动地完成编译、优化等一系列工作,让芯片能够发挥最佳的性能,以最快的速度完成客户的任务;如果客户想定制任务,我们也提供灵活的开发工具,客户可以根据自己的需求,灵活地开发优化自己的应用。总之我们提供给客户的一定是一款功能强大而又灵活易用的工作链。
灵汐科技有一支强有力的算法团队,既能跟踪国际最前沿的算法发展,又能优化客户最成熟的应用算法,并且对人工神经网络和神经动力学网络都有着非常深入的研究,可以保证类脑计算平台高效地支持各种网络。
应用方面,我们会和客户进行合作,帮助客户开发各种板卡、服务器之类的产品,支持客户边缘计算或者终端的各种应用,也希望以后在各行各业的智能化计算平台中都能看到Tianjic的身影。
灵汐科技的目标就是为各行各业的智能化提供高效稳定的计算平台,同时致力于降低用户使用算力的成本,助力客户的发展。
我们相信,我们的产品能够用在各个领域,比如数据中心、安防、智能医疗、自动驾驶等领域。
总之,我们希望Tianjic的高算力、低功耗、高扩展性和高并行度,能够为推动整个人工智能产业的发展贡献自己的力量。同时也希望有一天对人工智能的从业人员来说,不再像今天一样为了节省一点点算力,花很大的力气去做剪枝、优化之类,最后还得忍受网络性能的降低,这不应该成为AI领域工程师们的常态。
我们希望我们的产品能够给客户提供取之不尽用之不竭且便宜的算力,让工程师们能够很轻松就能实现最佳的性能。
Q&A环节
问题一
安绍岩-展讯通信-高级软件主管
1. 相比其它AI架构,类脑架构的优势、劣势对比,能否举出具体验证数据做对比。
2. 灵汐对于该类脑芯片后续技术演进的思考。
冯杰: 1、主要优势有:一、算力高;二、功耗低;三、存算一体,不需要外挂DDR,节省成本功耗和空间;四、算法的支持度灵活,既能高效支持人工神经网络算法,又能高效支持SNN算法;五、扩展性好,能得到极大算力的芯片阵列,而且算力效率不会下降;六,支持多核重组特性,可以实现多任务并行处理。这些性能都会有具体的数据支持,会在公司产品发布时统一公布。
2、类脑芯片的发展取决于很多方面的因素,首先是算法的突破,类脑芯片要既高效支持人工神经网络算法,又高效支持SNN算法,而不能像现在这样,ANN算法发展很好,而SNN并没那么好。Tianjic之所以高效支持SNN,就是想给大家提供一个好的平台,供大家积累这方面的经验,希望能为SNN的突破出一份力;其次是材料、新器件、新工艺的突破,它们都会对类脑芯片的进步提供相当大的助力;最后是架构突破,由于新材料的突破需要比较长的时间,如何在现有的工艺基础上,挖掘出更好的性能是我们需要面对的现实问题,Tianjic芯片的架构已经做了突破,但我觉得还有性能提高的空间,我们会一直走在突破的路上。
问题二
翟云-北京君正-部门总监
1.Tianjic既然定位于类脑计算,为何还要支持CNN、LSTM等现有流行算法?
2.脉冲神经网络如何训练,在什么FrameWork下训练?相比现在主流的CNN、LSTM的精度如何
冯杰: 1、Tianjic作为一款类脑芯片,不应该对人工智能算法有区别对待,而应该同时能高效支持CNN和SNN等所有的神经网络算法。我们从大脑的机制中尽量吸取了更多的优势,比如存算一体、高扩展性等。我们希望Tianjic芯片组成的阵列有一天能真正地接近大脑的规模,并且模拟大脑的特性。
2、SNN是比较难训练的。现在一般采取的是三种训练方法,分别是无监督学习规则、ANN间接学习算法以及BP有监督直接学习算法,对SNN来说,最常见的是用无监督学习算法的训练,这个算法描述起来挺简单的,如果前继神经元发放,当天神经元也跟着发放,那么两个神经元之间的突触强度就会增加;如果当前神经元发放后前继神经元才发放,那么突触强度就会减弱。无监督学习算法是目前在生活中得到验证且比较有效的训练方法,但是因为无监督学习算法的训练,有时候并不是真正的work,所以现在很多SNN的训练还是借鉴ANN的训练方法实现。
问题三
姜爱鹏-南京华捷艾米-芯片设计总监
1.RISC-V 的热度最近逐渐升高,RISC-V生态链的完善,对AI芯片是否会有促进作用,会体现在哪些方面?
2. 对应于边缘计算的应用场景,或者对于推理的应用场景,是否有比较好的AI芯片架构可参考?
3.对于降低AI芯片的运算功耗,或者说提高能效比,有哪些好的建议?或者说有设计规则需要遵守?
冯杰: 1、RISC-V生态链的完善对AI芯片有极大的促进作用,我认为很多AI芯片都有用到RISC-V的机会,之所以现在还有很多人有顾虑,就是因为RISC-V的生态链不够完善,导致很多人担心未来是否还会发展的问题。其实这也不只是AI领域的人会有这种顾虑,其他领域的人肯定也有类似的顾虑。因此,如果生态链完善了,不仅对AI芯片有极大的促进作用,还会对其他很多行业有很大的促进作用。
2、AI芯片有各种各样的架构,每个架构都有自己的特点,关键是取决于应用场景,比如Tianjic,最大的优点是高算力、低功耗、高扩展性以及高并行度,如果应用场景需要这些特点,那么Tianjic就是很好的AI芯片。
3、首先,在IC设计中有一系列降低功耗的手段;其次,功耗与芯片的架构有极大的关系,比如Tianjic的存算一体,所有的数据都在本地操作,这样带来的功耗损失就变少了,又比如,有的芯片虽然算力还不错,但是真正把网络运行起来能发挥的效率并不高,这种情况下,它的功耗是很高的。最后,功耗还跟算法有关,如何把硬件的算力发挥出来,很多时候是需要让算法和硬件进行匹配的,比如Tianjic,会在工具链中自动编译优化,把客户的网络以最高的效率映射到芯片中进行,省去客户对自己算法的优化过程,同时还节省了功耗。
问题四
孙中-西工大-SoC设计与验证研究生
类脑芯片设计的难点在哪? 在没有杀手级应用情况下,如何做验证?
冯杰: 个人认为,在现有的工艺条件下,芯片的架构设计是最重要的,因为架构整个芯片的基因,决定了芯片的性能。至于杀手级应用也是由芯片的性能决定的,如果芯片性能高,使用灵活,能很好地支持现有的应用,那就可以验证芯片的性能了。至于是否能够胜任现有的或者将来的重量级应用,需要通过实际的案例来给出答案。
问题五
韩少锋-caveDSP-FAE
1. 经过灵汐的工具链映射编译之后,量化的位宽是8位还是16位的?典型网络的精度如何?相比浮点网络有多少损失?
2.是否支持4bit网络?是否支持4bit以下的网络,比如二值网络?
冯杰: 1、Tianjic芯片支持FP16的数据类型,网络的精度由算法和客户提供的参数决定,我们编译器不会对客户的网络参数进行任何的修改,我们希望提供给客户足够的算力,保持客户原始的参数,当然也会保持网络原始的精度,而不会做任何修改。
2、Tianjic芯片能够高效的支持是FP16、int8、三值和二值网络,同时我们不会对网络参数进行修改。
问题六
梁伟强-上海高清-芯片研发经理
类脑芯片的架构是模仿人的大脑设计出来的吗?和常规的神经网络有什么本质区别?
冯杰: 类脑芯片架构是受大脑的启发设计出来的,它能高效支持人工神经网络和神经动力学网络等各种神经网络算法,所以从芯片运行的角度看,我们认为应用在不同的神经网络下是没有什么不同的。
问题七
李文昌-深度科技-行业总监
1.相关场景的应用开发者或公司多么,需要哪些知识储备?
2.商业模式会有创新么?
冯杰: 1、芯片的应用取决于应用场景,很多人工智能的应用我们都支持,Tianjic能高效支持ANN和SNN。现在已经有挺多的公司在跟我们洽谈中。除了必备的应用相关知识以外,并不需要其他专门的知识储备,我们的工具链会提供强大而易用的工具给客户。
2、关于创新,创新是灵汐科技的灵魂,不管是技术还是商业模式上我们都一直在创新。当然,我主要关注技术的创新,而商业的创新主要是由我的同事梅迪来负责,如果有这方面的问题,你可以询问他,我们会有后期的商务活动,比如10月23号在北京的安博会上,我们会有相关产品的展览,希望大家到时候多多支持。
问题八
刘发强-清华大学-类脑计算研究中心博士生
类脑芯片的神经元是不是必须用模拟电路实现才可以更好地发挥出其功耗优势?
冯杰: 神经元可以通过多种方式实现,包括模拟电路、数字电路以及新材料等都可以实现,至于哪种方式更省功耗,则需要跟实际应用相结合,从系统的角度来分析每一个具体的任务需要花费的算力,才能确定消耗的功耗,而不能一句话去敲定哪一种是最省功耗的方式。
问题九
何军-上海高性能集成电路设计中心-高级工程师
虽然都是AI芯片,但是类脑芯片与基于深度学习的芯片有较大不同,能否比较一下,包括适合的应用、通用性、功耗和未来的发展方向等?
冯杰: Tianjic跟传统的AI芯片从架构上来讲确实有很大的不同,由于Tianjic既高效支持深度学习算法,又高效支持SNN算法,因此能应用在现有的各个AI领域,而且功耗比较低,算力功耗比高,对于这些特点具体的值,我们以后会统一公布。我们对类脑芯片的发展很看好,关于神经动力学算法的短腿也一定会补起来的。以前我们主要是缺乏高效运行的SNN硬件平台,并且已有的平台比如TrueNorth是不对中国人开放的,我们的平台推出了以后,相信会为SNN的发展做出贡献,为整个人工智能的发展做出贡献,也为国内想从事SNN研究的朋友提供更大的便利,谢谢。
问题十
贾晓云-中科院微电子所-助理研究员
国内人工智能芯片企业与国外巨头竞争力如何?
冯杰: 可以看到近几年来,国内诞生了很多人工智能芯片企业,并且发展的速度很快,势头也很好。但是目前来看,国际巨头的产品还是处在领先地位,我们还需要继续努力,不过我们有信心,这也是灵汐科技进入这个领域的原因,我们会脚踏实地地往前走,希望能够超越国际巨头,谢谢。
问题十一
梁龙飞-上海新氦类脑智能科技-副总经理
类脑芯片产业发展目前最大的瓶颈在哪里?
冯杰: 从国内的情况来看,整个人工智能的发展包括类脑芯片的产业发展是比较分散的,如果能够把所有的力量都集中起来,相信能够很快的发展,人工智能芯片国内外的起跑线差不多,相信一起共同努力是不会落后于国外多少的,尤其是ASIC芯片。
问题十二
李海东-广智微芯-IC工程师
Tianjic基于SNN,在single chip和chip array上,有哪些商业化的应用?
冯杰: Tianjic不是基于SNN的,而是基于众核架构的类脑芯片,我们对ANN、SNN都有很好的支持,所以无论是Single Chip还是Chip Array都取决于客户的实际要求,单芯片的算力比较大,组成Chip Array当然就更大,如果客户需要用到这么大的算力,自然是可以去扩展的,但是如果用不着的话,也就没必要去拓展,主要取决于实际的商业需求。
课件下载
第一讲,联发科计算与人工智能本部总监张家源主讲,主题为《如何基于 NeuroPilot平台打造手机AI》
第二讲,深思考人工智能CEO杨志明主讲,主题为《医疗影像专用AI处理器的机遇与挑战》
第三讲,触景无限CEO肖洪波主讲,主题为《玩转模块化AI 让智能更简单》
第四讲,灵汐科技首席架构师冯杰主讲,主题为《类脑芯片的架构演进》
第五讲,华登国际合伙人王林主讲,主题为《浅谈AI带来的集成电路领域创新与投资机会》
第六讲,澎峰科技联合创始人赵华龙主讲,主题为《如何从0到1搭建RISC-V处理器》
关注智东西公开课服务号,回复关键词“课件”获取AI芯片系列课课件
新课预告
继AI芯片系列课之后8月7日起,自动驾驶系列课第三季重磅上线了!这次我们邀请到了青飞智能、中创博远、易成自动驾驶、酷哇、西井科技、深兰科技、北科天绘、腾讯8位创始人和技术大牛,深度解析限定场景自动驾驶商用车落地案例。名额有限,速速报名!
三巨头激战GPU:芯片架构全面剖析
在GPU的世界中,2022年将成为其历史上的一个里程碑。英特尔兑现了重新进入独立显卡市场的承诺,英伟达将显卡的尺寸和价格推到了天价,AMD则将CPU技术引入了显卡领域。新闻头条充斥着令人失望的性能、熔化的电缆和伪造的框架的故事。
GPU 的狂热涌入论坛,PC 爱好者对显卡市场的发展同样感到惊讶和震惊。因此,人们很容易忘记,最新的产品所使用的芯片是有史以来最复杂、最强大的家用电脑芯片。
接下来让我们深入研究下所有的供应商的架构,剥去层,看看什么是新的,他们有什么共同点,以及这些对普通用户意味着什么。
文章将主要从以下几方面进行剖析对此:
整体GPU架构着色器核心结构光线追踪单元和功能内存层次结构(高速缓存和 DRAM)芯片封装和工艺节点显示和媒体引擎GPU 的下一步是什么?整体 GPU 结构:从顶部开始
让我们从本文的一个重要方面开始——这不是一个性能比较。相反,我们将着眼于GPU内部的所有内容是如何安排的,通过查看统计数据和数字来理解AMD、英特尔和英伟达在设计图形处理器时的方法差异。
我们将从查看使用我们正在研究的架构的可用最大芯片的整体 GPU 组成开始。需要强调的是,英特尔的产品与 AMD 或 Nvidia 的目标市场不同,因为它在很大程度上是一款中档图形处理器。
这三种芯片不仅彼此之间,而且与使用以前架构的类似芯片在大小上都有很大不同。所有这些分析纯粹是为了理解这三个处理器的底层到底是什么。在分解每个GPU的基本部分之前,我们将检查总体结构——着色器核心、光线跟踪能力、内存层次结构以及显示和媒体引擎。
AMD Navi 31按字母顺序排列,第一名是AMD的Navi 31,这是他们迄今公布的最大的RDNA 3驱动芯片。与Navi 21相比,我们可以看到他们之前的高端GPU的组件数量有了明显的增长。
AMD Navi 31 框图
着色器引擎 (SE) 包含更少的计算单元 (CU),从 200 个减少到 16 个,但现在总共有 6 个 SE——比以前多了两个。这意味着 Navi 31 拥有多达 96 个 CU,总共部署了 6144 个流处理器(SP)。AMD 已经对 RDNA 3 的 SP 进行了全面升级,我们将在本文后面介绍这个问题。
每个着色引擎还包含一个专门处理栅格化的单元,一个用于三角形设置的原始引擎,32个渲染输出单元(rop)和两个256kB L1缓存。最后一个,现在是两倍的规模,但ROP本身仍然保持不变。
AMD 也没有对光栅化器和原始引擎进行太多更改——所述 50% 的改进是针对整个芯片的,因为它的 SE 比 Navi 21 芯片多 50%。然而,SE 处理指令的方式发生了变化,例如更快地处理多个绘图命令和更好地管理流水线阶段,这应该会减少 CU 在继续执行另一项任务之前需要等待的时间。
最明显的变化是在11月发布之前获得最多谣言和八卦的——GPU封装的Chiplet方式。凭借在该领域多年的经验,AMD选择这样做是合乎逻辑的,但这完全是出于成本/制造的原因,而不是性能。
我们将在本文后面对此进行更详细的研究,所以现在,让我们只关注哪些部分在哪里。在 Navi 31 中,内存控制器及其相关的最终层缓存分区位于主处理器(GCD,图形计算芯片)周围的独立小芯片(称为 MCD 或内存缓存芯片)中。
由于需要提供更多 SE,AMD 也将 MC 数量增加了 50%,因此 GDDR6 全局内存的总总线宽度现在为 384 位。这次的 Infinity Cache 总量较少(96MB 对 128MB),但更大的内存带宽抵消了这一点。
英特尔 ACM-G10接下来是英特尔和ACM-G10芯片(以前称为DG2-512)。虽然这不是英特尔生产的最大的图形处理器,但却是英特尔最大的消费图形处理器。
ACM-G10芯片的框图是一个相当标准的安排,它看起来更像是Nvidia而不是AMD的。它共有8个渲染片,每个包含4个x核,共计512个向量引擎(英特尔ACM-G10芯片相当于AMD的流处理器和英伟达的CUDA核心)。
英特尔 ACM-G10 框图
每个渲染切片中还包含一个基本单元、光栅化器、深度缓冲处理器、32个纹理单元和16个ROP。乍一看,这个GPU看起来相当大,因为 256 个 TMU 和 128 个 ROP 比 Radeon RX 6800 或 GeForce RTX 2080 中的要多。
然而,AMD 的 RNDA 3 芯片包含 96 个计算单元,每个计算单元有 128 个 ALU,而 ACM-G10 的总共有 32 个 Xe 核心,每个核心有 128 个 ALU。因此,仅就 ALU 数量而言,英特尔的 Alchemist GPU 是 AMD 的三分之一。但正如我们稍后将看到的,ACM-G10 的大量芯片被交给了不同的数字运算单元。
与英特尔通过 OEM 供应商发布的第一款 Alchemist GPU相比,该芯片在组件数量和结构安排方面具有成熟架构的所有特征。
英伟达AD102我们用英伟达的AD102完成了对不同布局的开场概述,这是他们第一个使用Ada Lovelace架构的GPU。与它的前身安培GA102相比,它似乎没有那么大的不同,只是大了很多。不管怎么说,的确如此。
英伟达使用图形处理集群(GPU)的组件层次结构,其中包含6个纹理处理集群(tpc),每个集群包含2个流多处理器(SMs)。这种安排并没有随着Ada而改变,但总数肯定有......
英伟达AD102框图
在完整的 AD102 芯片中,GPC 数量从 7 个增加到 12 个,因此现在总共有 144 个 SM,总共有 18432 个 CUDA 内核。与 Navi 31 中的 6144 个 SP 相比,这似乎是一个高得离谱的数字,但 AMD 和 Nvidia 对它们的组件进行了不同的计算。
尽管这大大简化了问题,一个Nvidia SM相当于一个AMD CU——都包含128个ALU。因此,Navi 31是英特尔ACM-G10的两倍(只计算ALU), AD102则是3.5倍。
这就是为什么在芯片的规模如此明显不同的情况下,对它们进行任何直接的性能比较都是不公平的。然而,一旦它们进入显卡,定价和销售,情况就完全不同了。
但是我们可以比较的是三款处理器中最小的重复部分。
着色器核心:进入 GPU 的大脑
从整个处理器的概览,现在让我们深入芯片的核心,看看处理器的基本数字运算部分:着色器核心。
这三家制造商在描述他们的芯片时使用了不同的术语和短语,特别是在谈到他们的概述图时。所以在这篇文章中,我们将使用我们自己的图像,使用共同的颜色和结构,这样就更容易看出什么是相同的,什么是不同的。
AMD RDNA 3AMD 在 GPU 的着色部分中最小的统一结构称为双计算单元(DCU)。在某些文档中,它仍称为工作组处理器 (WGP),而其他文档则将其称为计算单元对。
请注意,如果这些图表中没有显示某些内容(例如常量缓存、双精度单元),这并不意味着它们不存在于体系结构中。
在很多方面,整体布局和结构元素与 RDNA 2 没有太大变化。两个计算单元共享一些缓存和内存,每个计算单元包含两组 32 个流处理器 (SP)。
第 3 版的新功能是每个 SP 现在包含的算术逻辑单元 (ALU) 是以前的两倍。现在每个 CU 有两组 SIMD64 单元,每组有两个数据端口——一个用于浮点、整数和矩阵运算,另一个仅用于浮点数和矩阵。
AMD 确实为不同的数据格式使用单独的 SP——RDNA 3 中的计算单元支持使用 FP16、BF16、FP32、FP64、INT4、INT8、INT16 和 INT32 值的操作。
另一个重要的新功能是 AMD 所谓的 AI 矩阵加速器的出现。
与我们很快就会看到的英特尔和 Nvidia 的架构不同,它们不作为单独的单元——所有矩阵运算都使用 SIMD 单元,任何此类计算(称为 Wave Matrix Multiply Accumulate,WMMA)将使用整组 64 ALU。
在撰写本文时,AI 加速器的确切性质尚不清楚,但它可能只是与处理指令和所涉及的大量数据相关的电路,以确保最大吞吐量。在他们的Hopper 架构中,它可能具有与 Nvidia 的 Tensor Memory Accelerator 类似的功能。
与 RDNA 2 相比,变化相对较小——旧架构也可以处理 64 线程波前(又名 Wave64),但这些是在两个周期内发布的,并且在每个计算单元中都使用了两个 SIMD32 块。现在,这一切都可以在一个周期内完成,并且只使用一个 SIMD 块。
在之前的文档中,AMD 表示 Wave32 通常用于计算和顶点着色器(也可能是光线着色器),而 Wave 64 主要用于像素着色器,驱动程序相应地编译着色器。因此,转向单周期 Wave64 指令问题将为严重依赖像素着色器的游戏提供推动力。
然而,所有这些额外的电力需要正确利用,以充分利用它。这是所有GPU架构的真实情况,为了做到这一点,它们都需要大量的线程负载(这也有助于隐藏与DRAM相关的固有延迟)。
因此,随着ALU的加倍,AMD推动了程序员尽可能多地使用指令级并行的需求。这在图形领域并不新鲜,但RDNA相对于AMD的老GCN架构的一个显著优势是,它不需要那么多线程来达到充分利用。考虑到现代渲染在游戏中的复杂程度,开发者在编写着色器代码时将有更多的工作要做。
英特尔Alchemist现在让我们转向英特尔,看看 Alchemist 架构中的 DCU 等效项,称为Xe Core(我们将其缩写为 XEC)。乍一看,与 AMD 的结构相比,这些看起来绝对庞大。
RDNA 3中的单个DCU包含4个SIMD64块,而Intel的XEC包含16个SIMD8单元,每个单元由自己的线程调度器和调度系统管理。和AMD的流处理器一样,在《炼金师》中所谓的向量引擎可以处理整数和浮点数据格式。虽然不支持FP64,但这在游戏中并不是什么大问题。
英特尔一直使用相对较窄的 SIMD——在 Gen11 之类的产品中使用的 SIMD 只有 4 个宽度(即同时处理 4 个线程),而在第 12 代中宽度仅翻了一番(例如,在他们的 Rocket Lake CPU 中使用)。
但考虑到游戏行业多年来一直习惯使用 SIMD32 GPU,因此游戏也相应地进行了编码,因此保留窄执行块的决定似乎适得其反。
AMD 的 RDNA 3 和 Nvidia 的 Ada Lovelace 的处理块可以在一个周期内发出 64 或 32 个线程,而英特尔的架构需要 4 个周期才能在一个 VE 上实现相同的结果——因此每个 XEC 有 16 个 SIMD 单元。
然而,这意味着如果游戏没有以确保 VE 被完全占用的方式进行编码,则 SIMD 和相关资源(缓存、带宽等)将处于闲置状态。英特尔Arc 系列显卡基准测试结果的一个共同主题是,它们往往在更高的分辨率和/或具有许多复杂的现代着色器例程的游戏中表现更好。
这部分是由于高度的单位细分和资源共享所造成的。Chips and Cheese网站的微基准分析显示,尽管有大量的ALU,但该架构仍难以实现适当的利用。
再来看看XEC的其他方面,目前还不清楚0级指令缓存有多大,但AMD的是4路指令缓存(因为它服务于4个SIMD块),英特尔的必须是16路指令缓存,这增加了缓存系统的复杂性。
英特尔还选择为处理器提供专用的矩阵运算单元,每个向量引擎一个单元。有这么多单位意味着裸片的一个重要部分是专用于处理矩阵数学。
AMD使用DCU的SIMD单元来做到这一点,而Nvidia每SM有四个相对较大的张量/矩阵单元,英特尔的方法似乎有点过分,因为他们有一个单独的架构,称为Xe-HP,用于计算应用。
另一个奇怪的设计似乎是处理块中的加载/存储(LD/ST)单元。在我们的图中没有显示,它们管理来自线程的内存指令,在寄存器文件和L1缓存之间移动数据。Ada Lovelace和安培一样,每个SM分区有四个,总共有16个。RDNA 3也和它的前身一样,每个CU都有专门的LD/ST电路作为纹理单元的一部分。
英特尔的Xe-HPG演示显示,每个XEC只有一个LD/ST,但实际上,它可能由内部更多的独立单元组成。然而,在OneAPI的优化指南中,有一个图表表明LD/ST每次循环一个注册文件。如果是这种情况,那么Alchemist将始终努力实现最大的缓存带宽效率,因为不是所有文件都在同一时间被服务。
英伟达 Ada Lovelace最后一个需要关注的处理块是英伟达的流媒体多处理器(SM)——DCU/XEC的GeForce版本。这个结构与2018年的图灵架构相比并没有太大的变化。事实上,它和安培几乎一模一样。
一些单元已经被调整以提高它们的性能或功能集,但在大多数情况下,没有太多的新东西可以谈论。实际上,可能会有,但众所周知,英伟达不愿透露太多其芯片的内部操作和规格。英特尔提供了更多的细节,但这些信息通常隐藏在其他文档中。
但是为了总结结构,SM被分成四个分区。每个处理器都有自己的L0指令缓存、线程调度器和调度单元,以及与SIMD32处理器配对的64 kB寄存器文件部分。
就像在AMD的RDNA 3中一样,SM支持双发出指令,每个分区可以并发处理两个线程,一个使用FP32指令,另一个使用FP32或INT32指令。
Nvidia 的 H100 GPU 使用他们的 Hopper 架构
英伟达的张量内核现在是在他们的第四次修订,但这一次,唯一值得注意的变化是包括FP8变压器引擎从他们的Hopper芯片-原始吞吐量数据保持不变。
加入低精度浮点格式意味着GPU应该更适合AI训练模型。张量核心仍然提供了安培的稀疏特性,这可以提供高达两倍的吞吐量。
另一个改进在于光流加速器(OFA)引擎(没有在我们的图表中显示)。该电路产生光流场,用作DLSS算法的一部分。在安培中,OFA的性能是OFA的两倍,额外的吞吐量被用于他们的最新版本的临时抗锯齿升频器DLSS 3。
DLSS 3已经面临了相当多的批评,主要围绕两个方面:DLSS生成的帧不是“真实的”,该过程增加了额外的渲染链延迟。第一种方法并非完全无效,因为该系统首先让GPU渲染两个连续帧,将它们存储在内存中,然后使用神经网络算法确定中间帧的样子。
然后,当前链返回到第一个呈现的帧并显示该帧,然后是dss帧,然后是呈现的第二个帧。因为游戏引擎还没有为中间帧循环,所以屏幕会在没有任何潜在输入的情况下刷新。因为两个连续的帧需要被暂停,而不是被呈现,任何已经为那些帧轮询的输入也将被暂停。
DLSS 3 是否会变得流行或司空见惯还有待观察。
虽然Ada的SM和安培非常相似,但RT核心有明显的变化,我们将很快解决这些问题。现在,让我们总结一下AMD、Intel和Nvidia的GPU重复结构的计算能力。
处理块比较
对于标准数据格式,我们可以通过查看每个时钟周期的操作数量来比较SM、XEC和DCU功能。请注意,这些都是峰值数据,在现实中不一定能实现。
英伟达的数据在安培之后并没有改变,而RDNA 3的数据在某些领域翻了一番。尽管《炼金术士》是在另一个层面上的矩阵操作,但这些都是峰值理论值的事实应该再次强调。
考虑到英特尔的图形部门严重依赖于数据中心和计算,就像英伟达一样,看到架构将如此多的die空间用于矩阵运算就不足为奇了。缺少FP64功能并不是问题,因为这种数据格式在游戏中并没有真正使用过,并且功能呈现在他们的Xe-HP架构中。
在矩阵/张量运算方面,Ada Lovelace和Alchemist理论上比RDNA 3更强,但由于我们关注的是主要用于游戏工作负载的GPU,这些专用单元主要只是为涉及DLSS和XeSS的算法提供加速——这些算法使用卷积自编码器神经网络(CAENN),扫描图像寻找工件并纠正它们。
AMD的时间上标器(FidelityFX超分辨率,FSR)不使用CAENN,因为它主要基于Lanczos重采样方法,然后通过DCUs处理一些图像校正例程。然而,在RDNA 3发布中,简要介绍了下一个版本的FSR,引用了一个名为流体运动帧的新功能。由于FSR 2.0的性能提升高达两倍,普遍的共识是,这可能涉及到帧生成,就像DLSS 3一样,但这是否涉及到任何矩阵操作尚不清楚。
现在每个人都可以进行光线追踪
随着他们的Arc显卡系列的推出,使用了Alchemist架构,英特尔加入了AMD和英伟达的行列,为图形中使用射线追踪的各种算法提供专用加速器。Ada和RNDA 3都包含了显著更新的RT单元,所以有必要看看有什么新的和不同的。
从AMD开始,他们的射线加速器最大的变化是增加硬件来改善边界卷层次结构(BVH)的遍历。在3D世界中,这些数据结构用于加速确定光线击中的表面。
在RDNA 2中,所有这些工作都是通过计算单元处理的,并且在一定程度上仍然如此。但是,对于DXR(微软的射线跟踪API),有对射线标志管理的硬件支持。
使用这些可以大大减少BVH需要被遍历的次数,减少缓存带宽和计算单元的总体负载。从本质上说,AMD一直专注于提高他们在之前架构中引入的系统的整体效率。
此外,硬件已经更新,以改进框排序(使遍历更快)和剔除算法(跳过测试空盒)。加上缓存系统的改进,AMD表示,在相同的时钟速度下,与RDNA 2相比,射线跟踪性能提高了80%。
然而,在使用光线追踪的游戏中,此类改进并没有转化为每秒增加 80% 的帧数——这些情况下的性能受许多因素影响,RT 单元的功能只是其中之一。
由于英特尔是光线追踪游戏的新手,因此没有任何改进。相反,我们只是被告知他们的 RT 单元处理射线和三角形之间的 BVH 遍历和相交计算。这使得它们更类似于 Nvidia 的系统而不是 AMD 的系统,但是关于它们的可用信息并不多。
但我们知道每个 RT 单元都有一个未指定大小的缓存用于存储 BVH 数据和一个单独的单元用于分析和排序光线着色器线程,以提高 SIMD 利用率。
每个 XEC 与一个 RT 单元配对,每个渲染切片总共有四个。在游戏中启用光线追踪的 A770 的一些早期测试表明,无论英特尔采用何种结构,Alchemist 在光线追踪方面的整体能力至少与 Ampere 芯片一样好,并且比 RDNA 2 型号好一点。
但让我们再次重申,光线追踪也对着色核心、缓存系统和内存带宽施加了沉重压力,因此无法从此类基准测试中提取 RT 单元性能。
对于 Ada Lovelace 架构,Nvidia 进行了许多更改,与 Ampere 相比,Nvidia 对性能提升提出了相当大的要求。用于光线-三角形相交计算的加速器据称具有两倍的吞吐量,并且非不透明表面的 BVH 遍历现在据说速度是原来的两倍。后者对于使用带有 alpha 通道(透明度)的纹理的对象很重要,例如,树上的叶子。
当射线击中这种表面的全透明部分时,不应该产生撞击的结果——射线应该直接穿过。然而,在当前的游戏中,为了精确地确定这一点,需要处理多个其他着色器。英伟达的新不透明度微地图引擎将这些表面分解成更多的三角形,然后确定到底发生了什么,减少了所需的光线着色器的数量。
Ada的射线跟踪能力的两个进一步增加是BVHs的构建时间和内存占用的减少(分别声称快了10倍和小了20倍),以及为射线着色器重新排序线程的结构,提供了更好的效率。然而,前者不需要开发者改变软件,后者目前只能通过Nvidia的API访问,所以它对目前的DirectX 12游戏没有好处。
当我们测试 GeForce RTX 4090 的光线追踪性能时,启用光线追踪后帧率的平均下降略低于 45%。使用 Ampere 驱动的 GeForce RTX 3090 Ti,下降了 56%。然而,这种改进不能完全归因于 RT 内核的改进,因为 4090 的着色吞吐量和缓存比以前的型号大得多。
我们还没有看到 RDNA 3 的光线追踪改进有何不同,但值得注意的是,没有一家 GPU 制造商期望 RT 被孤立地使用——即仍然需要使用升级来实现高帧费率。
光线追踪的粉丝可能会有些失望,因为新一轮的图形处理器在这一领域没有取得任何重大进展,但自 2018 年 Nvidia 的 Turing 架构首次出现以来已经取得了很大进展.
内存:推动数据高速公路
GPU 处理数据的方式与其他芯片不同,让 ALU 接收数据对其性能至关重要。在 PC 图形处理器的早期,内部几乎没有缓存,全局内存(整个芯片使用的 RAM)是非常慢的 DRAM。即使就在 10 年前,情况也没有那么好。
因此,让我们深入了解当前的情况,从 AMD 在其新架构中的内存层次结构开始。自第一次迭代以来,RDNA 使用了复杂的多级内存层次结构。最大的变化发生在去年,当时在 GPU 中添加了大量的 L3 缓存,在某些型号中高达 128MB。
第三轮的情况仍然如此,但有一些细微的变化。
寄存器文件现在增大了50%(为了应对alu的增加,它们必须这样做),前三层缓存现在都变大了。L0和L1的大小增加了一倍,L2缓存高达2MB,在Navi 31中总共为6MB。
L3 缓存实际上已缩小到 96MB,但这是有充分理由的——它不再位于 GPU 芯片中。我们将在本文的后面部分详细讨论这个方面。
由于不同高速缓存级别之间的总线宽度更宽,整体内部带宽也更高。逐个时钟,L0 和 L1 之间多出 50%,L1 和 L2 之间增加相同。但最大的改进是在 L2 和外部 L3 之间——它现在总共宽了 2.25 倍。
Radeon RX 6900 XT中使用的 Navi 21的 L2 到 L3 总峰值带宽为 2.3 TB/s;由于使用了 AMD 的 Infinity 扇出链接, Radeon RX 7900 XT中的 Navi 31 将其提高到 5.3 TB/s。
将 L3 缓存与主芯片分开确实会增加延迟,但这被 Infinity Fabric 系统使用更高时钟所抵消——总体而言,与 RDNA 2 相比,L3 延迟时间减少了 10%。
RDNA 3 仍然设计为使用 GDDR6,而不是速度稍快的 GDDR6X,但高端的 Navi 31 芯片多了两个内存控制器,将全局内存总线宽度增加到 384 位。
AMD 的缓存系统肯定比英特尔和 Nvidia 的更复杂,但Chips and Cheese对 RDNA 2 的微基准测试表明它是一个非常高效的系统。延迟很低,它提供了 CU 达到高利用率所需的后台支持,因此我们可以期待 RDNA 3 中使用的系统也是如此。
英特尔的内存层次结构稍微简单一些,主要是一个两层系统(忽略较小的缓存,例如常量缓存)。没有 L0 数据缓存,只有 192kB 的 L1 数据和共享内存。
与 Nvidia 一样,此缓存可以动态分配,其中最多 128kB 可用作共享内存。此外,还有一个单独的 64kB 纹理缓存(图中未显示)。
对于设计用于中端市场显卡的芯片(A770 中使用的 DG2-512 ) ,L2 缓存非常大,总共有 16MB。数据宽度也适当大,每个时钟总共 2048 字节,位于 L1 和 L2 之间。该缓存包含八个分区,每个分区服务于一个 32 位 GDDR6 内存控制器。
然而,分析表明,尽管有丰富的缓存和可用带宽,但 Alchemist 架构并不是特别擅长充分利用它们,它需要具有高线程数的工作负载来掩盖其相对较差的延迟。
Nvidia 保留了与 Ampere 相同的内存结构,每个 SM 都有 128kB 的缓存,充当 L1 数据存储、共享内存和纹理缓存。可用于不同角色的数量是动态分配的。目前还没有关于 L1 带宽的任何变化的消息,但在 Ampere 中,它是每个 SM 每个时钟 128 字节。Nvidia 从未明确说明这个数字是累积的、结合读写的,还是仅针对一个方向的。
如果 Ada 至少与 Ampere 相同,那么所有 SM 的总 L1 带宽是每个时钟 18 kB 的巨大带宽——远远大于 RDNA 2 和 Alchemist。
但必须再次强调,这些芯片不能直接比较,因为英特尔的定价和营销是作为中档产品进行的,而 AMD明确表示 Navi 31 从未设计用于与 Nvidia 的 AD102 竞争。它的竞争对手是 AD103,它比 AD102 小得多。
内存层次结构的最大变化是二级缓存在一个完整的 AD102 裸片中膨胀到 96MB——是其前身 GA102 的 16 倍。与英特尔的系统一样,L2 被分区并与 32 位 GDDR6X 内存控制器配对,以实现高达 384 位的 DRAM 总线宽度。
AD102 的 L2 缓存大小在数据中心 GPU 中名列前茅
较大的缓存大小通常比较小的缓存具有更长的延迟,但由于时钟速度的提高和总线的一些改进,Ada Lovelace 显示出比 Ampere更好的缓存性能。
如果我们比较这三个系统,英特尔和 Nvidia 对 L1 缓存采用相同的方法——它可以用作只读数据缓存或计算共享内存。在后者的情况下,需要通过软件明确指示 GPU 以这种格式使用它,并且数据仅在使用它的线程处于活动状态时保留。这增加了系统的复杂性,但它对计算性能产生了有用的提升。
在 RDNA 3 中,“L1”数据缓存和共享内存被分成两个 32kB L0 向量缓存和一个 128kB 本地数据共享。AMD 所说的 L1 缓存实际上是一组四个 DCU 和 L2 缓存之间的共享垫脚石,用于只读数据。
虽然缓存带宽都没有 Nvidia 的那么高,但多层方法有助于解决这个问题,尤其是当 DCU 未得到充分利用时。
高端卡有很多 DRAM,但速度仍然相对较慢
巨大的处理器级缓存系统通常不是 GPU 的最佳选择,这就是为什么我们在以前的架构中没有看到超过 4 或 6MB,但 AMD、英特尔和 Nvidia 在 GPU 中都有大量缓存的原因最后一层是为了应对 DRAM 速度相对缺乏增长的情况。
向 GPU 添加大量内存控制器可以提供充足的带宽,但代价是芯片尺寸和制造开销增加,而且 HBM3 等替代方案的使用成本要高得多。
我们还没有看到 AMD 的系统最终表现如何,但他们在 RDNA 2 中的四层方法与 Ampere 相比表现良好,并且比英特尔的好得多。然而,随着 Ada 封装更多的 L2,竞争不再那么简单。
芯片封装和工艺节点:构建发电厂的不同方式
AMD、英特尔和英伟达都有一个共同点——它们都使用台积电来制造它们的 GPU。
AMD在Navi 31中的GCD和MCD使用了两种不同的节点,前者使用N5节点制作,后者使用N6(N7的增强版)制作。英特尔还在其所有 Alchemist 芯片中使用 N6。对于 Ampere,Nvidia 使用三星的旧 8nm 工艺,但对于 Ada,他们又切换回台积电及其 N4 工艺,这是 N5 的变体。
N4 拥有所有节点中最高的晶体管密度和最佳的性能功率比,但当 AMD 推出 RDNA 3 时,他们强调只有逻辑电路的密度有显着增加。
SRAM(用于高速缓存)和模拟系统(用于内存、系统和其他信号电路)的缩小幅度相对较小。再加上新工艺节点的每片晶圆价格上涨,AMD 决定使用稍旧且更便宜的 N6 来制造 MCD,因为这些小芯片主要是 SRAM 和 I/O。
就裸片尺寸而言,GCD 比 Navi 21 小 42%,为 300 mm2。每个 MCD 仅为 37mm2,因此 Navi 31 的组合裸片面积与其前身大致相同。AMD 只公布了所有小芯片的合并晶体管数量,但这款新 GPU 的数量为 580 亿,是他们有史以来“最大的”消费类图形处理器。
为了将每个 MCD 连接到 GCD,AMD 使用了他们所谓的高性能扇出——密集的走线,占用的空间非常小。Infinity Links——AMD 专有的互连和信号系统——运行速度高达 9.2Gb/s,每个 MCD 的链路宽度为 384 位,MCD 到 GCD 的带宽达到 883GB/s(双向)。
对于单个 MCD,这相当于高端显卡的全局内存带宽。Navi 31 中有全部六个,L2 到 MCD 的总带宽达到 5.3TB/s。
与传统的单片芯片相比,使用复杂的扇出意味着裸片封装的成本会更高,但该过程是可扩展的——不同的 SKU 可以使用相同的 GCD,但使用不同数量的 MCD。较小尺寸的单个小芯片芯片应该会提高晶圆良率,但没有迹象表明 AMD 是否在 MCD 的设计中加入了任何冗余。
如果没有,则意味着任何小芯片在 SRAM 中存在缺陷,这会阻止内存阵列的该部分被使用,那么它们将不得不为低端型号 SKU 装箱或根本不使用。
到目前为止,AMD 只发布了两款 RDNA 3 显卡(Radeon RX 7900 XT 和 XTX),但在这两种型号中,MCD 各有 16MB 缓存。如果下一轮 Radeon 卡采用 256 位内存总线和 64MB 的 L3 缓存,那么它们也将需要使用“完美”的 16MB 芯片。
然而,由于它们的面积非常小,单个 300 毫米晶圆可能会产生超过 1500 个 MCD。即使其中的 50% 必须报废,这仍然足以提供 125 个 Navi 31 封装。
我们还需要一些时间才能确定 AMD 设计的实际成本效益如何,但该公司现在和将来都完全致力于使用这种方法,尽管仅限于更大的 GPU。Budget RNDA 3 型号的缓存数量要少得多,将继续使用单片制造方法,因为以这种方式制造它们更具成本效益。
英特尔的 ACM-G10 处理器为 406mm2,晶体管总数为 217 亿个,在组件数量和芯片面积方面介于 AMD 的 Navi 21 和 Nvidia 的 GA104 之间。
这实际上使它成为一个相当大的处理器,这就是为什么英特尔选择 GPU 的市场领域似乎有些奇怪。Arc A770显卡使用完整的 ACM-G10 芯片,与 Nvidia 的 GeForce RTX 3060等同类产品竞争,后者使用的芯片尺寸和晶体管数量只有英特尔的一半。
那么为什么这么大呢?有两个可能的原因:16MB 的 L2 缓存和每个 XEC 中的大量矩阵单元。拥有前者的决定是合乎逻辑的,因为它减轻了全球内存带宽的压力,但后者很容易被认为对于它所销售的部门来说过多。RTX 3060 有 112 个Tensor 核心,而 A770 有 512 个 XMX 单元。
英特尔的另一个奇怪选择是使用 TSMC N6 来制造 Alchemist 裸片,而不是他们自己的设施。关于此事的官方声明列举了成本、晶圆厂产能和芯片工作频率等因素。
这表明英特尔的同等生产设施(使用更名后的英特尔 7 节点)无法满足预期需求,其 Alder 和 Raptor Lake CPU 占据了大部分产能。
他们会将 CPU 输出的相对下降,以及这将如何影响收入,与他们使用 Alchemist 获得的收益进行比较。简而言之,最好是付钱给台积电来制造它的新 GPU。
在 AMD 利用其多芯片专业知识并开发新技术来制造大型 RDNA 3 GPU 的地方,Nvidia 坚持为 Ada 系列产品采用单片设计。这家 GPU 公司在制造超大型处理器方面拥有丰富的经验,尽管 608mm2的 AD102 并不是其发布的物理尺寸最大的芯片(该荣誉归于 826mm2的GA100 )。
然而,Nvidia 拥有 763 亿个晶体管,其组件数量远远领先于迄今为止所见的任何消费级 GPU。
相比之下,用于GeForce RTX 3080及以上的GA102似乎很轻,只有268亿。SM数量增长了71%,L2缓存数量增长了1500%。
像这样大而复杂的芯片总是难以实现完美的晶圆良率,这就是为什么以前的高端 Nvidia GPU 催生了大量的 SKU。通常,随着新架构的发布,他们的专业显卡系列(例如 A 系列、Tesla 等)会首先发布。
当安培发布时,GA102在发布时出现在两种消费级卡中,并最终在14种不同的产品中找到了归属。到目前为止,英伟达只在两款产品中使用了AD102: GeForce RTX 4090和RTX 6000。不过,后者自去年9月上市以来一直无法购买。
RTX 4090 使用的裸片朝向合并过程的最佳端,禁用了 16 个 SM 和 24MB 的二级缓存,而 RTX 6000 仅禁用了两个 SM。这让人不禁要问:其余的die在哪里?
但由于没有其他产品使用 AD102,我们只能假设 Nvidia 正在储备它们,尽管其他产品的用途尚不清楚。
该架构推出两个月后,仍然只有两张卡在使用它
GeForce RTX 4080使用AD103,它有 379mm2和 459 亿个晶体管,完全不像它的大哥——更小的裸片(80 个 SM,64MB L2 缓存)应该会带来更好的良率,但同样只有一个使用它的产品。
他们还发布了另一款 RTX 4080,一款使用更小的 AD104,但由于受到的批评太多,他们在发布时取消了。预计该 GPU 现在将用于启动RTX 4070 系列。
Nvidia 显然有大量基于 Ada 架构的 GPU,但似乎也不太愿意出货。原因之一可能是他们正在等待 Ampere 供电的显卡清空货架。另一个是它主导着一般用户和工作站市场,并且可能觉得它现在不需要提供任何其他东西。
但鉴于 AD102 和 103 提供的原始计算能力的显着提高,Ada 专业卡如此之少有点令人费解——该行业总是渴望获得更多的处理能力。
超级明星 DJ:显示和媒体引擎
当谈到 GPU 的媒体和显示引擎时,与 DirectX 12 功能或晶体管数量等方面相比,他们通常会采用后台营销方法。但随着游戏流媒体行业产生数十亿美元的收入,我们开始看到更多的努力来开发和推广新的显示功能。
对于 RDNA 3,AMD 更新了许多组件,最值得注意的是对 DisplayPort 2.1(以及 HDMI 2.1a)的支持。鉴于监督 DisplayPort 规范的组织 VESA 在几个月前才发布 2.1 版本,GPU 供应商如此迅速地采用该系统是一个不寻常的举动。
新显示引擎支持的最快 DP 传输模式是 UHBR13.5,最高 4 通道传输速率可达 54 Gbps。这对于 4K 分辨率、144Hz 刷新率、没有任何压缩、标准时序来说已经足够了。
使用 DSC(显示流压缩),DP2.1 连接允许高达 4K@480Hz 或 8K@165Hz——与 RDNA 2 中使用的 DP1.4a 相比有了显着改进。
英特尔的 Alchemist 架构具有带 DP 2.0(UHBR10,40 Gbps)和 HDMI 2.1 输出的显示引擎,但并非所有使用该芯片的 Arc 系列显卡都可以利用最大功能。
虽然 ACM-G10 并非针对高分辨率游戏,但使用最新的显示器连接规格意味着可以在没有任何压缩的情况下使用电竞显示器(例如 1080p、360Hz)。芯片可能无法在这类游戏中呈现如此高的帧率,但至少显示引擎可以。
随着刷新率的攀升,需要更快的显示连接
AMD 和英特尔对 DP 和 HDMI 中的快速传输模式的支持是您期望从全新架构中获得的那种东西,因此 Nvidia 选择不与 Ada Lovelace 这样做有点不协调。
AD102 的所有晶体管(几乎与 Navi 31 和 ACM-G10 加在一起相同)仅具有带 DP1.4a 和 HDMI 2.1 输出的显示引擎。对于 DSC,前者对于 4K@144Hz 来说已经足够好了,但是当竞争对手在没有压缩的情况下支持它时,这显然是一个错失的机会。
GPU 中的媒体引擎负责视频流的编码和解码,所有三个供应商在其最新架构中都具有丰富的功能集。
在 RDNA 3 中,AMD 为 AV1 格式添加了完整的同步编码/解码(仅在之前的 RDNA 2 中解码)。关于新媒体引擎的信息不多,除了它可以同时处理两个 H.264/H.265 流,AV1 的最大速率为 8K@60Hz。AMD 还简要提到了“AI 增强型”视频解码,但没有提供更多细节。
英特尔的 ACM-G10 具有类似的功能范围,可用于 AV1、H.264 和 H.265 的编码/解码,但与 RDNA 3 一样,细节非常少。对 Arc 台式机显卡中第一批 Alchemist 芯片的一些早期测试表明,媒体引擎至少与 AMD 和 Nvidia 在其先前架构中提供的媒体引擎一样好。
Ada Lovelace 效仿 AV1 编码和解码,Nvidia 声称新系统的编码效率比 H.264 高 40%——表面上看,使用新格式时视频质量提高 40%。
高端 GeForce RTX 40 系列显卡将配备带有两个 NVENC 编码器的 GPU,让您可以选择以 60Hz 编码 8K HDR 或改进视频导出的并行化,每个编码器同时处理半帧。
有了更多关于系统的信息,就可以进行更好的比较,但是由于媒体引擎仍然被视为与渲染和计算引擎的不良关系,我们将不得不等到每个供应商都将其最新架构的卡上架,在我们进一步审查问题之前。
GPU 的下一步是什么?
台式机 GPU 市场上已经有 3 家供应商了,很明显,每家都有自己的图形处理器设计方法,尽管英特尔和 Nvidia 的思维方式相似。
对他们来说,Ada 和 Alchemist 有点像万事通,可用于各种游戏、科学、媒体和数据工作负载。ACM-G10 对矩阵和张量计算的高度重视以及不愿完全重新设计其 GPU 布局表明英特尔更倾向于科学和数据,而不是游戏,但考虑到这些领域的潜在增长,这是可以理解的。
对于最后三种架构,Nvidia 专注于改进已经很好的东西,并减少整体设计中的各种瓶颈,例如内部带宽和延迟。但是,虽然 Ada 是 Ampere 的自然改进,这是 Nvidia 多年来一直遵循的主题,但当您查看晶体管数量的绝对规模时,AD102 脱颖而出,成为一种进化怪异。
与 GA102 相比,差异非常显着,但这种巨大的飞跃引发了许多问题。第一个问题是,对于 Nvidia 来说,AD103 对于他们最高端的消费产品来说会是一个更好的选择,而不是 AD102 吗?
正如在 RTX 4080 中所使用的那样,AD103 的性能相对于 RTX 3090 有了可观的改进,并且像它的大哥一样,64MB 的二级缓存有助于抵消相对较窄的 256 位全局内存总线宽度。
379mm²,比GeForce RTX 3070中使用的GA104要小,因此比AD102制造的利润要高得多。它也拥有与GA102相同数量的短信,该芯片最终在15种不同的产品中找到了一席之地。
另一个值得一问的问题是,Nvidia 在架构和制造方面将何去何从?他们能否实现类似水平的扩展,同时仍然坚持使用单片芯片?
AMD 对 RDNA 3 的选择突出了竞争的潜在途径。通过将规模最差(在新工艺节点中)的裸片部分转移到单独的小芯片中,AMD 已经能够成功地继续在 RDNA 和 RDNA 2 之间实现的大型制造和设计飞跃。
虽然它不如 AD102 大,但 Navi 31 仍然有 580 亿个晶体管的硅——是 Navi 21 的两倍多,是原始 RDNA GPU Navi 10 的 5 倍多(尽管那不是旨在成为光环产品)。
但 AMD 和 Nvidia 的成就并不是孤立完成的。由于台积电和三星之间为成为半导体设备主要制造商的激烈竞争,所以 GPU 晶体管数量的大幅增加才有可能。
两者都致力于提高逻辑电路的晶体管密度,同时继续降低功耗,三星今年早些时候开始量产其 3nm 工艺。台积电一直在做同样的事情,并且对当前的节点改进和他们的下一个主要过程有明确的路线图。
目前尚不清楚英伟达是否会照抄AMD的设计手册,在Ada的后继产品中采用Chiplet的布局,但未来14 - 16个月可能是决定性的。如果RDNA 3被证明在财务上取得了成功,无论是从收入还是总出货量来看,那么英伟达很有可能会效仿。
然而,第一款使用 Ampere 架构的芯片是 GA100——一款数据中心 GPU,尺寸为 829mm2,具有 542 亿个晶体管。它由台积电制造,使用他们的 N7 节点(与 RDNA 和大部分 RDNA 2 系列相同)。使用 N4 来制造 AD102,使 Nvidia 能够设计出晶体管密度几乎是其前身两倍的 GPU。
GPU 仍然是台式 PC 中最卓越的工程技术之一!
那么,在下一个架构中使用 N2 是否可以实现这一点?有可能,但高速缓存的大幅增长(扩展性非常差)表明,即使台积电在其未来节点上取得了一些惊人的数字,控制 GPU 大小也将变得越来越困难。英特尔已经在使用小芯片,但仅限于其巨大的Ponte Vecchio数据中心 GPU。由47块不同的tile组成,有的是台积电的,有的是intel自己代工的,参数偏高。
例如,完整的双 GPU 配置拥有超过 1000 亿个晶体管,这让 AMD 的 Navi 31 看起来很苗条。当然,它不适用于任何类型的台式 PC,严格来说也不仅仅是“GPU”——这是一个数据中心处理器,非常强调矩阵和张量工作负载。
在转向“Xe Next”之前,其 Xe-HPG 架构的目标是至少再进行两次修订(Battlemage 和 Celestial),我们很可能会在英特尔消费类显卡中看到平铺技术的使用。
不过,就目前而言,我们将让 Ada 和 Alchemist 使用传统的单片芯片至少一两年,而 AMD 将 chiplet 系统混合用于中上端和高端卡,并为他们的单芯片预算 SKU。
不过,到本世纪末,我们可能会看到几乎所有类型的图形处理器,它们都是由一系列不同的 tile/chiplet 构建而成,所有这些都是使用各种工艺节点制造的。GPU 仍然是台式 PC 中最显着的工程壮举之一——晶体管数量的增长没有放缓的迹象,而今天普通显卡的计算能力在大约 10 年前只能梦想。
开启下一场三向架构之战!
相关问答
芯片架构是什么意思?
目前市场上主流的芯片架构有X86、ARM、RISC-V和MIPS四种,ARM架构和X86架构是市场份额最大的两大架构,它们有着各自的特点和市场。目前在移动领域上ARM架构占...
芯片架构是什么能通俗一点讲?
芯片架构是指对芯片对象类别和属性的描述,对于每一个对象类别来说,该架构定义了对象类必须具有的属性,它也可以有附加的属性,并且该对象可以是它的父对象。主...
芯片的架构是指什么?
芯片架构是指对芯片对象类别和属性的描述,对于每一个对象类别来说,该架构定义了对象类必须具有的属性,它也可以有附加的属性,并且该对象可以是它的父对象。主...
芯片架构和芯片有什么不同?
芯片架构和芯片的区别在于它们所指的范围和功能不同。芯片架构是指一种设计规范或标准,它定义了芯片的基本结构和运作方式,包括芯片的指令集、运算单元、存储...
芯片架构基础知识?
以下是我的回答,芯片架构基础知识一、芯片架构的概念芯片架构,也称为芯片体系结构,是指一种组织计算机系统中各个部件的方式,以及这些部件之间的交互方式。它...
显卡芯片是什么架构?
pascal架构是英伟达新一代GP100显卡核心代号,和上一代核心相比GP100核心晶体管密度再次攀升、CUDA核心大幅增加、双精度性能逆天增长、缓存/寄存器容量翻倍、H...
31位芯片架构是什么?
31位芯片架构是指对芯片的某个对象类别和芯片的属性进行设计与解释,芯片的架构不必要定义芯一些属性和附加的属性。芯片的架构并非一个特指词,在SOC的芯片架...
特斯拉芯片架构?
特斯拉新能源汽车的芯片架构是啧车选择的,有的是2.5的,有的是3.0的,不一样的特斯拉新能源汽车的芯片架构是啧车选择的,有的是2.5的,有的是3.0的,不一样的
a芯片是什么架构?
A系列是基于ARM架构的,从A6开始是在ARM公版上自行二次开发的自研架构。ARM架构,曾称进阶精简指令集机器(AdvancedRISCMachine)更早称作AcornRISCMachin...
intel芯片是什么架构?
Intel芯片是基于x86架构的处理器。x86架构是一种32位和64位处理器架构,最初由Intel开发并广泛应用于个人电脑和服务器领域。x86架构具有广泛的软件支持和兼容...