Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

与 Eric Demers 一起深入了解高通即将推出的 Adreno X2 GPU

Posted on 2026-01-05

各位亲爱的网友们,大家好!

今天我们邀请到高通GPU团队负责人埃里克·德默斯,来聊聊高通即将推出的X2 GPU架构。我们将探讨X2 GPU相比上一代X1 GPU有哪些变化,以及做出这些变化的原因。

希望你们喜欢!

以下文字稿已进行编辑,以提高可读性和简洁性。

乔治:各位互联网上的朋友们,大家好。我们现在在圣地亚哥的高通总部,参加他们的首届架构日活动,我今天请到了埃里克·德默斯。你是做什么的?

埃里克:我是高通公司的员工,我领导我们的GPU团队,我们负责大部分硬件和部分软件。所有功能都集成在一个系统中,我们组建了一支非常优秀的团队,我在这里工作了十四年。

乔治:用 60 秒快速概括一下 X2 GPU 相对于 X1 GPU 的新特性。

埃里克:嗯,对我们来说,这是下一代产品。这意味着我们审视了X1上的所有设计,然后说“我们可以做得更好”,并从根本上提升了性能。我之前也说过,性能提升非常显著,但功耗的提升幅度并不相同。因此,它的核心能效非常高,这意味着您只需付出略高的功耗即可获得更高的性能。这与性能翻倍、功耗也翻倍的情况截然不同,所以这是一项重大改进。其次,我们希望成为一款功能齐全的DirectX 12.2 Ultimate产品。也就是说,它具备DirectX 12.2的所有特性,而大多数Windows GPU已经支持这些特性,所以我们也加入了支持DirectX 12.2的行列。

George:那么在 API 方面,你们将支持 X2 GPU 的哪些功能?

Eric:显然,我们会支持 DirectX 12.2 以及其后的所有 DirectX 版本,因此完全兼容。此外,我们还计划引入原生 Vulkan 1.4 支持。Windows 提供了一个 Vulkan 1.4 版本,但我们将提供一个与我们其他产品相同的原生代码库。我们还将引入原生 OpenCL 3.0 支持,该支持也已应用于我们的其他产品。然后,我们计划在 2026 年第一季度引入 SYCL 支持。SYCL 是一种面向 GPU 的高端计算 API 和着色语言。它是一个开放标准,其他公司也支持它,这有助于我们解决 Windows 平台上骁龙处理器的一些 GPGPU 用例。

乔治:太棒了,接下来我们稍微深入了解一下架构。X2 GPU 现在配备了所谓的 HPM 或高性能内存?它的具体用途是什么?在硬件中又是如何实现的?

埃里克:我们的GPU一直都带有内存。最初在移动端,我们采用的是分块架构,这种架构可以最大限度地降低内存带宽需求。它的实现方式是在将数据发送到DRAM之前,尽可能多地保留芯片内部的数据。现在,我们更进一步,决定“把内存容量做得更大”,不再采用分块渲染的方式,而是将渲染结果直接写入芯片内部的SRAM,这个SRAM的容量足以容纳整个屏幕或大部分屏幕内容。因此,特别是对于X2至尊版,我们可以实现QHD+、1600p、2K分辨率,所有渲染工作,包括色彩ROP单元、Z缓冲区等,都在芯片内部以全速完成,无需占用任何DRAM带宽。这样一来,GPU、CPU或NPU就可以利用这些带宽进行读取操作。这不仅提升了性能,节省的带宽也降低了功耗。所以,对我们来说,这实现了每瓦性能的提升。它不仅限于渲染,它还是一块连接到GPU的通用大容量内存,可以用于计算。你可以先渲染到这块内存上,然后使用着色器在HPM(高性能内存模块)中进行后期处理。我们已经开发出各种灵活的用例,未来还会开发出更多。

乔治:太棒了,说到HPM(高性能内存模块),X2-90 GPU上有21兆字节的HPM。它是如何分配的?是每个切片5.25MB,并且该切片只能访问这5.25MB,还是整个芯片共享?

Eric:所以从物理层面来说,它是按切片实现的。每个切片有 5.25 MB 的空间。但是,实际上我们有一个完整的交叉开关,因为如果你把它看作一个帧缓冲区,它允许从任何位置获取数据。你可以从任何一个切片随机访问整个表面。我们有一个全带宽的完整交叉开关,这使得 HPM 可以被任何一个切片使用,即使它在物理上是实现在切片内部的。

乔治:HPM是如何设置的?它是缓存还是草稿本?

埃里克:所以答案是肯定的,它由软件控制。你可以分配一部分空间作为缓存。最多可以分配 3MB 的颜色和 Z 缓存。大约三分之一到三分之二的空间,通常是在渲染到 DRAM 时用作缓存。这里的缓存用于粒度级的读取,所以你会预取数据并将其加载到芯片上,解压缩数据,然后将其拉入 HPM,尽可能在本地使用,然后在清除缓存行时将其缓存出来。HPM 的其余部分将保留供软件使用。它可以用来存储任何内容,可以用来存储渲染目标,你可以存储多个渲染目标,它可以只存储 Z 缓冲区或颜色缓冲区。它还可以存储你将在渲染中使用的先前渲染的纹理。从这个意义上讲,它实际上是一个通用的临时存储空间,你可以从应用程序和驱动程序的角度根据需要使用它。

乔治:为什么只允许将3兆字节的SRAM用作缓存,而将另外2.25兆字节用作临时SRAM?为什么不全部用作缓存呢?

Eric:是的,这其实是我们内部也讨论过的问题。首先,以我们目前的粒度进行缓存是有成本的。标签内存(也就是用来记录缓存状态的内存)会随着缓存大小的增长而增长。所以这并非免费,不能随意添加。实际上,成本相当高,因为它还会影响计时,因为需要进行标签查找,而且标签越大,设计就越复杂。因此,存在一个理想的上限,超过这个上限就需要投入更多的工作和成本。但我们研究后发现,如果将整个帧缓冲区都存储在 HPM 中,效率可以达到 100%。但一旦缓存大小低于此值,效率就会趋于平缓,缓存命中率不会显著下降,除非缓存变得非常小,而且只有当缓存接近满载时,命中率才会显著提高。所以,缓存容量达到了一个平台期,我们发现平台期底部的大小正好是我们计划的大小。这样一来,缓存命中率就非常高了。如果我们把容量扩大一倍,效果不会有太大提升,但成本会更高。因此,在这个设计方案中,我们做出了正确的权衡。未来我们可能会重新考虑这个问题,尤其是在HPM的应用场景发生变化的情况下,但就目前而言,这个大小对我们来说是合适的。

乔治:我们还要更深入地研究切片架构。之前,切片中包含一个微型存储处理器(micro-SP)。每个存储处理器(SP)有两个微型存储处理器,然后每个切片又包含两个存储处理器。

埃里克:是的。

乔治:micro-SP 芯片以前每波只能发出 128 条指令,现在你们改用了每波 64 条指令,但 micro-SP 芯片里仍然有 128 个 ALU。你们是如何处理每波只能向 128 个 ALU 发出 64 条指令的情况的?

Eric:我不确定这与其他方案有太大区别,但我们采用的是双波发射。我们会同时发射两个波,让所有算术逻辑单元(ALU)都保持忙碌。从某种意义上说,这意味着我们不仅能够处理 wave64,而且由于 wave64 的特性,我们的效率也更高。如果执行分支操作,波越小,粒度损失就越小,需要执行的潜在分支也就越少。Wave64 通常比单个大波更有效地利用资源,事实上,两个波比一个波更高效。因此,对我们来说,保持更多波在运行本身就是一种效率提升,即使它不会影响峰值吞吐量。但这会带来额外的开销,你需要更多的上下文信息、更多的元数据才能同时运行两个波。其中一个后果是,通用寄存器(GPR,用于存储波的数据)的容量需要从 96k 增加到 128k,大约增加了 30%。我们增加波浪数量,部分原因是想增加波浪数量,既是为了解决双重问题,但增加波浪数量通常效率更高。

乔治:那么,你的GPU能够进行双发射的频率如何?同时发射两波脉冲的频率如何?

埃里克:一直都是这样,几乎总是如此。我猜想可能会出现着色器执行过程中出现“气泡”的情况,导致两个着色器都在等待,这种情况下两个都不会运行。也许其中一个着色器会先发出并准备就绪,但通常情况下,我们有很多着色器在运行,所以总有足够的空间让两个着色器同时运行。

乔治:好的。

埃里克:如果一个波使用了大量的 GPR,而我们没有足够的 GPR,那确实会出现这种情况。通常情况下,我们有足够的 GPR 来处理两个这样的情况,但在这种情况下,你可能会更频繁地遇到性能限制,因为没有足够的 GPR 来覆盖所有内存读取的延迟。但这只是非常非常复杂的着色器的一个极端情况,并不常见。

乔治:所以双重议题机制并没有太多限制?

埃里克:不,没有限制。

乔治:太好了,非常感谢您接受这次采访。我的最后一个问题是,您最喜欢哪种奶酪?

埃里克:问得好。我爱布里奶酪,永远都会爱布里奶酪……还有马苏里拉奶酪块。我在加拿大长大,肉汁奶酪薯条(poutine)在那儿很流行,我超级爱吃马苏里拉奶酪块,但现在很难买到。我偶尔能在全食超市(Whole Foods)找到,但令人惊讶的是,在亚马逊上,我得去订购才能在家做肉汁奶酪薯条。

乔治:有趣的是伊恩,他负责掌镜。我和他,他是土豆,我是奶酪。

埃里克:好了。

乔治:我们制作了一档名为“科技肉汁奶酪薯条”的节目,嘉宾是“肉汁”。

埃里克:啊,找到了,肉汁也有。瑞士小屋牌的,或者我忘了另一个牌子了,反正都很好吃。圣地亚哥的Five Guys餐厅的薯条最接近正宗的肉汁奶酪薯条。我有些加拿大朋友会去Costco买奶酪,然后去Five Guys买薯条,自己做酱汁,就为了吃这个。

乔治:非常感谢您接受这次采访。

埃里克:不客气。

乔治:如果你喜欢这类内容,请点赞并订阅。这对频道的发展很有帮助。如果你想要文字稿,可以在chipsancheese.com上找到,Patreon 和 PayPal 的链接也在下方的描述中。非常感谢埃里克。

埃里克:不客气,谢谢你。

乔治:祝各位一切顺利。

原文: https://chipsandcheese.com/p/diving-into-qualcomms-upcoming-adreno

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Alin Panaitiu
  • Anil Dash
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Big Technology
  • Bits about Money
  • Brandon Skerritt
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • HeardThat Blog
  • Henrique Dias
  • Herman Martinus
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • PostHog
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Slava Akhmechet
  • Small Good Things
  • Steph Ango
  • Stephen Wolfram
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2026 搞英语 → 看世界 | Design: Newspaperly WordPress Theme