当我们谈论GPU性能的时候就不能回避PPA这个概念。性能(Performance)、功耗(Power)、面积(Area)组成了现代大型芯片的三维。硬件架构、频率和工艺制程共同决定了一块芯片在PPA三角形中的表现。创造完美的“三边型战士”需要付出巨大的代价,而我们的目标是在成本可控的情况下做出更符合客户需求的芯片。PPA是在芯片立项之初就有明确的设计指标,而性能这一项涉及到了各个子模块的协作,需要从设计开始就同步进行方案的验证。

图1:PPA介绍

接下来让我们通过5个问题来进一步了解“GPU性能的硅前预测”。

1)为什么要关心硅前性能?  

人们都很认可“GPU性能非常关键”这一观点。从2011年到2022年,GPU单卡算力提高了10倍以上,而GDDR/HBM带宽提高大约2倍以上。对于国产GPU而言,能够提供与国际一线大厂媲美的性能是关键点所在。因此,无论是GPU硬件和软件架构师,还是市场客户都对Benchmark在GPU硅前阶段的性能预测很感兴趣。硅前性能的预测结果对设计验证软件开发市场客户极具意义和价值。其意义在于用实际数据起到定性和定量作用。芯片性能直接影响到芯片的售价,更高的性能意味着更高的售价更强的市场竞争力

2)预测和验证什么?  

我们可以从两个角度来定义GPU的性能。其一是单模块的纯粹性能,例如内存带宽(Memory Bandwidth)或者浮点算力(FLOPs)。另一个是包含了所有模块协作的应用性能。业界有标准的测试来评价芯片的综合性能,而这也是产品间互相竞争的最主要评分工具。

3)如何预测?

抽象来看,GPU由多个功能系统组成。主要为核心计算系统(Core)缓存系统(Cache)内存系统(Memory Subsystem)。架构师会在性能预测阶段改变性能模型中不同模块的参数来探索各种组合的综合性能。例如计算系统中的核心数量、缓存中的缓存大小结构、内存的预取策略、DRAM的时序参数等。初级的性能模型可以在给定参数下给出标准测试的结果,而高级的性能模型可以分析其中的瓶颈,以帮助架构师高效地探索模块参数变化对综合性能的影响。另外架构师并不能无限堆高各种参数,而是需要在PPA三角形的限制下找到最合适的芯片架构。

4)如何验证?

验证的整个流程分为两个层面,第一层面是在GPU核心计算模块(Core)上的本真硬件性能验证,第二层面是SoC和Multi-GPU平台性能的验证。涉及模块越少则测试仿真时间越短,模块越多则仿真时间越长,一旦遇到问题需要多个设计师共同“会诊”。

5)谁会参加到GPU性能硅前预测的任务中呢?

包括GPU架构和设计验证模型组都会参加到流程里。模型组(Model team)在其中会起到主导作用,主要负责提供并且校准各个子模块的模型,包括指令流水线(Instruction Pipeline)高速缓存(Cache Hierarchy)总线接口(Bus Interface)简单的I/O内存子系统。在实际应用测试中发现性能不达标的情况下也会先行分析瓶颈所在,再与相关模块的设计师架构师具体分析并改进现有设计。

内容中包含的图片若涉及版权问题,请及时与我们联系删除