首页 > 技术

从14核CPU到AI游戏,浅析Arm新架构的更多细节

2024-06-17 18:44:42      西盟科技资讯   


  前段时间,我们三易生活已经给大家分析过Arm最新一代的CPU和GPU架构设计,不过当时的资料主要还是来源于官方博客文章,以及面向大众公布的相关信息。

  考虑到这些资料的宣传目的,它们通常并不会讲得特别详细,特别是在一些技术细节、研发背景等方面往往会比较为缺乏。这也就是为什么我们会在当时的内容中指出其中的一些性能对比的数据缺乏参数说明,甚至可能会影响到可信度的原因。

  日前在参与了Arm方面召开的技术沟通活动,并与相关专家们近距离接触后,我们也终于得以为大家揭示更多关于Arm最新一代消费级计算终端平台的更多细节。

  从X4到X925,命名规则大改背后的逻辑

  这次首先要说的,就是Arm本世代产品线的命名改变。

  众所周知,过去Arm的“超大核”在命名上采用了很特别的单位数规则,即从Cortex-X1到X4。这些名称有两个好处,其一是它可以清晰地表明架构的代次,第二点就是这种单位数命名完全不同于大核(Cortex-A700系列)和小核(Cortex-A500系列)的形式,会让人“一眼就感受到”超大核的特殊地位。

  但这种情况,在这一代上明显发生了改变。按照Arm方面最开始的说法,他们之所以要将新的超大核命名为Cortex-X925,主要是想要体现其(相对于以前的Cortex-X系列)取得了有史以来最大的代际性能进步。

  有意思的是,当我们三易生活提出,新的命名反而可能会让这一代的“超大核”看起来显得不那么“特别”后,Arm方面显得相当惊讶,但他们也因此进行了一些很有价值的补充说明。

  其一,是Cortex-X925这次虽然换用了与大核、小核相同“规则”的命名方式,但它的定位并没有降低,依然是旗舰专属。Arm方面的相关人士甚至还专门强调,Cortex-X925并不会成为通用产品,Cortex-X 系列持续定位为Arm和合作伙伴定制合作的专用旗舰平台。

  其次在Arm方面看来,Cortex-X925这个新的名称,也有为了显示其与新的Immortalis-G925旗舰GPU“相配”的意思。当然,这对于Arm在推广旗舰组合方面,也可以让客户和生态伙伴更易于连结。

  智能手机何必只有8核,Arm已经铺平了道路

  其次,在提到如今智能手机SoC中CPU的核心布局时,许多朋友想必首先都会想到“8核CPU”这个概念。即便是在最近这两年,一些顶级旗舰SoC里的“大中小”CPU核心组合比例发生了各种各样的变化,但它们绝大多数还是维持在“总共8核”的水平上。

  但是在我们三易生活看来,如今这种对于“8核CPU”的坚持,其实未必是源自软件优化方面的需求,因为具体到应用上,实际上并没有几个软件真的能够“完全吃满”8个CPU线程。在实际使用中,反而更多的场景都是许多软件在“共享”CPU的资源,它们有的可能只能用到1颗核心、有的可以用到2核心,还有的可能可以同时使用4个核心,靠的都是手机自身在进行智能调度。

  换句话说,实际上对于如今的智能手机而言,超过8颗的CPU核心设计未必会有什么优化问题。因为根据Arm新发布的终端CSS,连接CPU核心的DSU-120可支持高达14颗核心,而且,Arm实际上在最新一代的产品组合里,就提供了相当有“想象力”的CPU组合方案,比如它甚至可以支持12颗Cortex-X925搭配2颗Cortex-A725、从而组成惊人的14核CPU配置。

  在此基础上,综合各方面的已知信息来看,真正制约了如今智能手机SoC核心数量的因素,其实是芯片设计时的面积控制需求。比如Arm的发言人就提到,最近几年手机SoC里的CPU部分所占用的面积几乎是“原地踏步”。而在我们三易生活看来,为了给其他更“热门”的计算单元(比如ISP或NPU)腾出面积,或许才是导致芯片厂商大多不敢突破8核心CPU的原因所在。

  针对这一点,Arm终端CSS可以弹性面向多样市场。比如,他们为主流消费技术市场提供Cortex-A725的面积优化实现。这种设计下的Cortex-A725虽然跑不到很高的频率,却可以显著缩小面积、同时保障IPC和能效不降低。笔者认为,这其实就是在鼓励有“追求”的SoC厂商可以“大核当小核用”,从而塞进更多的大核、甚至是超大核在他们的SoC里。

  重视光栅性能提升,Arm新款GPU的方向对了

  除了更大胆的CPU设计,Arm这一代的GPU方案也有一些潜在的亮点。

  首先从基本的产品规划上来看,大家已经知道Arm这代的GPU包含三条产品线,即Immortalis-G925、Mali-G725和Mali-G625。

  在此前的产品解析内容里我们三易生活已经提到,这一代的三款GPU本质上采用的都是相同架构,它们的区别主要体现在明显的核心数量差异,以及对光线追踪的支持与否上。

  但实际上在我们这次与Arm方面的沟通中得知,这一代的Mali-G725 GPU尽管在官方资料中并没有光追的相关标注,但实际上也可以被配置为支持光追。

  看到这里,可能有些PC玩家会产生不好的联想。因为这是否意味着未来我们会看到一些“不够高端”的SoC,用着中端配置的Mali GPU,却公然宣传支持“旗舰级光追特性”呢?

  虽然不能完全否定这种可能性,但值得关注的是,至少在这一代的GPU基础架构上,Arm的设计思路是极为“务实”的。比如Immortalis-G925现在支持更多的着色器数量,同时它的底层图块吞吐量和着色器作业分配的速度都得到了显著提升。

  除此之外,通过与Epic Games以及Google和联发科的合作,Arm GPU现在可以支持桌面级的虚幻5渲染器、用于光线追踪的Lumen光照解决方案,以及安卓动态性能框架(Android Dynamic Performance Framework),从而实现更复杂的主机级游戏光线追踪品质,以及更高分辨率、更清晰的游戏视觉效果。

  如果将这种做法与当前PC上的显卡功能方向去进行对比就会发现,事情变得有那么一点点讽刺了。因为PC上的GPU现在普遍在追求用AI去“缩放”游戏画面,这是因为它们本身的光栅性能进步幅度追不上显示器分辨率、刷新率的升级速度。

  但是Arm则没有这样去“取巧”,虽然如今智能手机的游戏真实渲染分辨率也普遍低于屏幕的物理分辨率,可他们还是选择了实打实地强化GPU的硬件光栅能力。所以至少在解决问题的态度上,Arm这样的做法目前显然也更值得去点赞。

  专注CPU AI加速,Arm的优化方案很务实

  最后必须要提及Arm的Kleidi软件库,这是一种旨在提升Arm处理器AI性能的官方软件优化方案。但是与大家熟知的其他一些智能手机AI加速技术相比,它又有着一些格外的特别之处。

  首先,Kleidi专注于加速CPU上的AI性能,而并不依赖于GPU或NPU。这就会带来一些显著的好处,比如它完全可以在那些使用非Arm架构NPU、GPU的SoC上起作用,而且相比于架构五花八门的NPU和GPU,Arm的CPU在如今的移动平台(特别是智能手机)上显然要“普及”得多的。所以这就意味着Kleidi可以很容易地触及更多设备,而且适配、优化起来也更容易,成本更低。

  其次,虽然Kleidi是与Arm 2024年的产品线同期发布,但这并不意味着它只能支持最新的Arm CPU。事实上,Arm方面在设计Kleidi时,就已经考虑到了对于老平台的兼容性,它甚至可以用在“古老”的Arm V8指令集CPU上,去使用NEON这样的老指令集去实现AI加速效果。

  Arm方面通过实验证明,仅仅通过代码优化就可以让现有机型提升数十倍的AI生成速度

  而且Kleidi也不需要开发者去学习某种全新的AI框架,Arm方面直接与MediaPipe、LLAMA.cpp、PyTorch和TensorFlow Lite进行了合作集成。开发者可以很容易地让主流AI功能在各种Arm设备,比如手机、Windows PC上“跑起来”,切实地加快相关应用和功能的落地速度。

  最后,Arm方面还正在与Unity合作开发端侧推理引擎Sentis。它可以在所有支持Unity游戏引擎的设备上实现AI游戏体验,将游戏中的AI模型内存占用率降低72.5%,同时提升特定AI框架在游戏中的性能多达660%。看起来游戏行业已经在开始热议的“分布式文案和生成式对话”,说不定首先会在手游领域落地了。

Arm

相关阅读