本文来源:电子工程专辑
作者:黄烨锋
近代图形计算市场上,作为IP供应商Imagination重返高性能桌面市场,应该是2020年IMG B-series GPU IP的发布。关注Imagination的读者应该知道,在Imagination还自己造GPU的时代里,上世纪90年代,这家公司也是PC显卡市场的角逐者之一。
当代Imagination的GPU IP,在桌面市场的一个重要客户,比较众所周知的就是芯动科技(Innosilicon)——目前已经出货的风华系列显卡用到了IMG B-series的GPU IP,具体应该是BXT。我们在近期Imagination举办的IMG DXD系列新品发布会现场,也见到了风华系列GPU的身影——现场的工作人员在演示用它跑《王者荣耀》。而Imagination这次新发布的IMG DXD系列新品也是主要面向桌面和云游戏市场的。
发布会现场展示,芯动科技的风华2号显卡,基于IMG B-series
自2019年,Imagination发布IMG A-series系列GPU IP后,Imagination保持着按照字母序列做产品更新的传统。IMG DXD自然属于D-series中的一员。DXD中的后两个字母某种程度说明了其桌面市场定位——实际上,当前Imagination的GPU IP产品覆盖领域已经从此前广为人知的移动市场,扩张到了汽车、消费、桌面和云游戏领域。今年1月,我们也详谈过DXT架构——DXT更多是面向移动设备的。这次我们来谈谈着力于面向桌面端的IMG DXD。
IMG DXD更新概览
有关IMG DXD更新,Imagination方面的着重宣传点大致上包括:单核性能提升——包括架构演进和规模扩大带来的性能提升、DirectX 11.0支持,以及虚拟技术对于云游戏的原生支持。
性能方面,Imagination Technologies前瞻技术副总裁Kristof Beets将IMG DXD与BXT做了单核性能比较,提及DXD性能相比BXT提升了2.25倍。
Imagination Technologies前瞻技术副总裁Kristof BeetsIMG DXD核心标定规格是DXD-72-2304,前文已经谈到D是最新的D-series新品,XD表明了市场定位。后面的数字部分,72是指纹理填充率(72 GTexel/s,每秒72G的纹素);2304则是指FP32算力,约为2.3TFLOPS(@1GHz频率)。实际上,关注过DXT的读者应该不难发现,DXD的这一核心规格和DXT-72-2304基本一致——只不过DXT作为主要面向移动设备的产品线,还有DXT-8-256和DXT-48-1536可选。宣传中2.25倍性能提升是相较于BXT而言的,从BXT-32-1024标定大致就能看得出来。可能部分读者更关心DXD相比于CXT的性能提升有多大。Imagination之所以选择BXT来比性能,而非CXT,大约是因为已经上市的桌面GPU产品选择了BXT,如芯动科技的风华2号。而且CXT这代产品的宣传重点是PowerVR Photon光追架构的应用。从CXT标定“CXT-48-1536 RT3”的典型规格,大致也能看出两者规模与性能上的差别。DXT-72-2304发布时也曾言明,相较于CXT性能提升50%,包括算力和纹理性能——可供参考。其次,IMG DXD的关键特性在于DirectX 11支持——强调对DirectX支持,实际也是在强调DXD的桌面定位属性,以及对于Windows游戏的支持。虽说DirectX 11并非最新的DirectX API版本,但Kristof给出了下面这张饼图,用以说明当前DirectX 11仍然是PC游戏选择图形API中最为广泛的平台。包括《原神》《CS2》《博德之门3》《Dota2》等在内现在比较流行的游戏也仍在使用DirectX 11。“实现了完全的硬件支持,包括所有的新特性,都通过硬件实现,并非模拟或软件方式。”Kristof说。有关图形API,IMG DXD也支持包括OpenGL 4.6, OpenGL ES 3.2, Vulkan 1.3和OpenCL 3.0在内的开发生态。另外,在有关DirectX的支持问题上,Kristof也提到将来在更新的版本方面也会持续跟进:“我们在实现Windows的支持方面经验也比较多,其一致性测试、品质要求方面都相当严格。所以我们需要时间,确保产品上市时满足生态系统和所需的品质要求。我们不会急于求成。”
Imagination官网则提到,从DirectX 11_0的特性支持开始,IMG DXD因此也就为云游戏、桌面图形体验做好了准备。这也就相关云游戏支持的另一个属性了:多核、去中心化的规模缩放,以及相当重要的HyperLane虚拟化技术,在云上确保安全性和性能管理的情况下,支持多玩家。
先来看看DXD-72-2304的单核构成:熟悉DXT的读者,对此应该也不会陌生。
这样一个DXD核心内部有3个SPU单元(Scalable Processing Unit);每个SPU单元内包含有3组TPU(Texture Processing Unit)、USC(Unified Shading Cluster),以及配套的共享逻辑单元(几何与光栅化单元)。从Rogue架构时期就关注Imagination的同学应该也都知道,USC里面主要就是ALU核心了。新发布的DXD,和DXT这种移动平台相比,差异应该主要在于一个SPU单元内部的USC和SPU数量。XT系列此前是每个SPU只有一组或者两组USC/TPU的。从DXT开始,单个SPU内部可扩展到3组USC/TPU。所以如果和更早的BXT比较的话,那么实际上BXT单个SPU单元内就只有两组USC/TPU。换句话说,D-series的提升是进一步在基础的SPU可缩放处理单元上堆料——以及后文会提到更多核心、更多计算单元。Kristof评价为brute force scaling,大力出奇迹。不过实际上,从B-series到D-series,算力单元架构层面应该也是有变化的,“许多精细化的架构调整(fune architectural tuning)”。从上面这张图来看,ALU是128-wide的warps——好像从A-series开始这就是传统了;浮点性能翻番,包括每周期FP16是512次操作,FP32则为256;local memory本地存储也提升到了32KB。对于DirectX的支持,也体现在TPU方面的变化,包括BCn格式支持——BCn是一种Direct3D 11 SDK支持的纹理压缩格式。Kristof也提到所有固定功能单元也在设计上做到了对于DirectX需求的完全支持。尤为值得一提的是右下角的RISC-V固件处理器——从IMG A-series时代开始,这颗小型处理器也是个传统——完全可编程,主要用于GPU整体任务执行的灵活性:相关数据流、执行、优先级等各种GPU内部的活动,任何事件、决策都通过这颗处理器控制与决定,也就减轻了host CPU的工作。Kristof在答记者问时说,以前Imagination的GPU IP这部分会采用某种内部指令集的CPU架构,在编译器、工具流等各方面都比较受限制。固件处理器采用RISC-V之后,也就有了广阔的生态可应用各种最新的工具和标准流程,“的确是帮助我们进入到了新的时代。”Kristof说,不仅“管理负载调度、处理各种GPU生成的事件是基于固件处理器”,而且可“与系统中的其他IP模块进行弹性交互,比如到其他模块的基于硬件的事件,像是其他类型的处理器或者显示控制器,达成更低的延迟和对功耗管理的直接控制。”“比如说,GPU在低利用率的情况下,就可以降低频率电压。对于固件处理器而言,在SoC层面可以有相当多的弹性化交互。”与此同时,“固件处理器还用于性能分析和各种debug:包括软件开发者做步进式的debug,基于硬件的debug。”Imagination在新闻稿中提到,现在的这种设计相比过去“将GPU管理性能提高40%”。除了固件处理器,最高层级DXD还有L3 cache,AXI Bus总线界面等组成部分。据说cache架构也有提升,“以满足高性能GPU的需求”。架构部分,这次Imagination没怎么在发布会上提光线追踪这个原属于Imagination的传统艺能。从DXT此前强调的光追实现来看,DXD应该也能加入RAC从硬件层面实现光追(基于SPU做RAC光追加速集群的搭配)。猜测Imagination之所以没有在DXD架构上强调光追,是因为DirectX 11实际上还没有对光追做出正式支持。从核心数目角度,这次发布会主要谈论的是MC1, MC2的配置方案,也就是上述DXD-72-2304的单核与双核配置。Kristof说设计上最多可以达到4个核心——组成一个大的系统。其实在去年7月的Khronos &Imagination Seminar技术研讨会上,Imagination分享过CXT时代多GPU显卡的进一步性能扩展;或者也可以基于chiplet来构成更大的GPU,因为Imagination的GPU IP这几代都在采用松散、去中心化的逻辑,达成更好的设计伸缩性和灵活性。“其实我们在多核设计上,核心之间也采用标准、少量的连接,也就能够与chiplet设计兼容。在不同的市场上,我们也参与了不少标准化组织。”Kristof在采访中说,“比如汽车市场就在看标准化,我们在这个领域也很活跃,当前正和一家我们还没有宣布的客户做讨论,采用chiplet技术来构建解决方案。”最后做个双核DXD-72-2304的性能总结,如上图所示:性能数字基本就是MC1的性能翻番,包括1GHz下纹理填充率144 GTexel/s,FP32算力4.6 TFLOPS,FP16算力9.2 TFLOPS FP17,基于Int8的AI算力18 TOPS。另外,到具体的负载上,Imagination将DXD-72-2304MC1与BXT-32-1024MC2做了对比。Kristof说之所以用BXT的双核来比DXD的单核,是考虑到让双方达成尽可能相似的性能配置。即便如此,DXD这边依然多出了12%的ALU和纹理资源,对比结果如下图:这4个负载中,最高提升幅度有60%,最低也有20%。所以综合系统性能,单核DXD相比于双核BXT提升幅度在40%左右——这个数据应该是最有参考价值的了。
注意DXD相比于BXT高出的性能部分,其中灰色代表的是多出的ALU算力资源,而白色部分则表现出了架构调整带来的效率提升。可见DXD也不光是靠堆料达成的性能提升。只不过Imagination方面并未具体去谈这对比的4个负载究竟是什么负载。Kristof解释说:“提升最大的是其中最复杂的两个负载,负载1和负载2,代表的是高端游戏场景——在桌面市场是具有代表性的。”
除此之外,再来谈一谈其他的一些关键特性——虽然其中的绝大部分在此前的几代产品中也已经实现了。比如说我们过去提过多次的FSR(Fragment Shading Rate),这是个有些类似于VRS可变速率着色的技术:可以理解为对画面中不怎么重要、不需要高精度渲染的区域,降低处理量,与此同时对观感和体验影响又几乎可以忽略不计,起到降低负载、功耗,提升效率的效果。
更具体地说,是基于区域(zone)来做shader着色执行,而不是针对每个像素做着色。比如说针对2x2, 2x4或者4x4区域做一次shader执行,大幅降低着色开销,降低功耗、带宽需求,也就变相带来了性能的显著提升。
在性能和效率所做的优化里,一些关键特性还包括2D双速率纹理、流水线数据主控、通过ASTC HDR支持增强视觉细节等。有关2D双速率纹理(2D Dual-Rate Texturing),此前Imagination就解释过,他们观察到包括浅景深、bloom、模糊之类的效果和负载,不少瓶颈出在TPU吞吐上,但一味扩充TPU规模也不合理。所以开发团队搞了这项技术,达成后处理效果的更加高效,对应的核心配置可因此实现每时钟周期处理双倍数量的双线性过滤纹理采样,也就是双倍的执行率。Kristof这次解释说传统的GPU纹理,是拿到一个图像,然后映射到3D对象上,比如一个球面——这就产生了计算复杂性,包括逻辑透视修正等。“但其实我们发现可以用常用的2D操作来完成。”Kristof表示,“数据访问和处理变得更加直接,因为只需要读取输入像素、处理,然后再输出就可以。”“在游戏后处理、图像处理、计算摄影等领域,以这种模式来工作可以将吞吐量提高一倍。”而“流水线数据主控”即pipeline data master是将渲染和固件改换工作(包括寄存器编程等),这两个步骤做到了流水线化:也就是说在GPU的上一个工作还在处理执行时,固件就设定下一个工作,减少负载之间不必要的等待,提升性能。还有一项特性是ASTC HDR支持,基于ASTC(Adaptive Scalable Texture Compression)算法支持HDR输入压缩纹理。这个格式的支持部分应该也是为了达成DirectX的要求。这部分的最后来谈谈云游戏的支持——就GPU IP层面体现的,主要是对于虚拟化的原生支持。也就是GPU用于云基础设施以后,必然面临算力资源的虚拟化,来达成对多游戏玩家的资源分配与支持。下面这张图是以4核DXD为例所举的例子——这些核心可以单独工作,也可以组合起来工作。或者以1+3或2+2等不同组合方式单独工作,或者协同工作。基于IMG A-series时期就带来的HyperLane虚拟化技术,每个GPU核心都可以切分成8个独立的硬件管理域,用于跑不同的负载。所以如果是4个DXD核心的话,总共最多也就有硬件级支持的32个虚拟域,用于完全隔离不同的云游戏用户。“这是完全基于硬件实现的,性能损失和开销都做到了最小。”“虚拟化系统注重的是灵活性。”Imagination Technologies中国区技术支持总监艾克在采访中说,“这项技术可以把用户的数据也进行分离,对每个用户之间的数据做到隔离和保护;同时分担不同负载,提供硬件调度的灵活性——比如有用户在玩大型游戏,而有些则在闲置状态,那么最终我们就能提供节约功耗、灵活度又高的云游戏方案。”
就物理实现问题,据我们所知很大程度是依靠Data Master数据主控在整个GPU硬件资源之间进行动态的工作分配执行,每个时钟周期不同的模块可以执行不同的任务,多路工作同时进行,硬件级别实现高级调度机制。此前Imagination将8路切分称作8条hyperlane,每条lane的内容都做到了隔离。
游戏图形生态主要相关图形API支持,游戏引擎支持,以及游戏开发者方面的合作。图形API的部分前文已经提到,尤其DirectX 11的支持为IMG DXD应用于桌面市场做好了准备;和Khronos相关的合作就更不必多说了。
而在游戏引擎方面,包括虚幻(Unreal)、O3DE、Godot、Roblox等;游戏开发者部分的合作,Kristof在发布会上提到了米哈游、光子工作室群、完美世界、网易游戏。Kristof在产品发布最后提到,DXD架构已经授权给了多家客户。相信在不久的将来,我们有机会在桌面平台通过基于IMG DXD的显卡玩桌面游戏。只不过桌面图形生态一直是各类垂直市场上最难啃的一块骨头,毕竟这一领域基本已经发展到了高度成熟状态——当然我们依然乐于见到挑战者的出现。
发布会现场,象帝先天钧系列GPU产品展示从Imagination当前的策略来看,未来Imagination还准备将旗下的不同IP产品扩展到更多的领域。Imagination公司副总裁、中国区总经理刘国军说目前公司的市场布局主要有两个方向,其一是随着包括GPU、CPU、NPU IP的产品线扩张,“我们需要寻求更多生态合作伙伴的合作,有更多的合作面”;
其二是“在应用方面,我们扩展到桌面、数据中心,还有这两年汽车方向的应用”,“无论是这次新发布的DXD,还是汽车、IoT、edge AI、消费等各个领域”,都会铺开布局。从Imagination官网列出产品与解决方案中,仅GPU就同时有DXD, DXT, CXT, CXM, B-series, A-series等不同门类就看得出Imagination在覆盖更广阔市场方面的预期。
全部0条评论
快来发表一下你的评论吧 !