处理器/DSP
记得多年前,电脑内存的主流配置容量还在1GB左右,而现在有这样一款处理器,其内部三级缓存的容量就超过了1GB,达到了1.1GB,如果再加上L1、L2级缓存,其容量绝对超过当年的主流电脑内存容量,它就是AMD最新发布的EPYC 9684X服务器处理器。而现在主流消费级处理器的三级缓存容量也不会超过100MB,即便是很多顶级服务器处理器,它们的三级缓存容量也不会超过400MB。那么AMD为什么要推出三级缓存容量如此大的处理器,三级缓存容量这样大的处理器有什么作用呢?
引入3D缓存,三级缓存容量达1152MB!
EPYC 9084X系列处理器解析
我们知道,缓存的存在是为了解决计算和存储之间的鸿沟,利用昂贵、高速但是小尺寸的SRAM来填补CPU和内存之间的速度鸿沟,同时提高数据命中率,一直以来都是CPU提高性能的不二法门。不过,缓存在超过一定容量之后,后续就很难再对所有应用都带来显著的性能提升了,更明显的性能提升来自缓存敏感型应用,在桌面应用中主要是游戏,在企业级应用中主要是数值计算类应用,比如流体分析、流体模拟、有限元、计算流体力学等应用,这些应用的场景主要是实验室、设计单位、大型企业等,是HPC也就是超级计算机的主要客户群体。
因此针对这些应用的需求,AMD此次特别推出了代号“Genoa-X”的EPYC 9084X系列处理器。与代号“Genoa”的EPYC 9654、EPYC 9554等处理器相比,该产品最大的不同就是增加了3D缓存,即3D V-Cache。从技术本质上来说,Genoa-X的3D V-Cache和之前的产品没有任何不同,都是通过TSV硅穿孔技术,将额外的SRAM缓存芯片直接倒装连接到CPU核心晶圆上预留的缓存连接位置。从AMD给出的图片来看,Genoa-X的采用的是混合键合的方式实现了CPU核心和SRAM核心的连接。AMD可以为每个CCD增加64MB SRAM L3缓存,是原生CCD中包含的32MB的2倍。由于额外增加的缓存是直接连接到整个CCD的缓存总线上的,因此完全可以视作相同的、一致的、均一的本地L3缓存,不存在任何速度、级别方面的差异。
拥有3D缓存的EPYC 9684X处理器也采用SP5 LGA6096封装,不论是在处理器大小面积,还是处理器厚度上,它都与EPYC 9654完全相同。
AMD处理器的3D缓存技术主要由混合键合、硅通孔、CCD、结构硅片、64MB 3D三级缓存芯片组成。
之前的EPYC 9004系列处理器最多拥有12个CCD,因此AMD要打造EPYC 9084X系列处理器的话,只需在每个CCD上堆叠64MB 3D缓存,相当于总共外置12×64MB=768MB L3缓存,再加上CCD内部原有的12×32MB=384MB L3缓存,总计最多可以实现768MB+384MB=1152MB缓存。这也是EPYC 9084X系列处理器能实现大容量三级缓存的关键原因。
AMD为每个CCD堆叠了64MB的3D V-Cache
AMD的混合键合技术可以有效提高芯片的互联密度与能效比,其连接密度相对2D工艺高了200倍,互联密度相对单纯使用微凸点工艺高了15倍,芯片互联的能效也比微凸点工艺提高了3倍。
目前,EPYC 9084X系列处理器总共包括EPYC 9684X、EPYC 9384X和EPYC 9184X三款产品,其型号后缀都带一个“X”,这也是所有3D V-Cache产品独有的标识。这三款产品的核心数量从高到低分别是96、32和16。相比没有带3D V-Cache的普通EPYC 9004系列产品而言,比如对比EPYC 9654,EPYC 9684X的基准频率高了一些,两款处理器的最大Boost频率则都维持3.7GHz不变,但EPYC 9684X的全核心频率为3.42GHz,比EPYC 9654的3.55GHz全核心频率要略低一些。同时基准频率的提升、缓存容量的大幅增加也让EPYC 9684X的Default TDP热设计功耗达到了400W,而EPYC 9654的Default TDP为360W。三级缓存方面,由于EPYC 9684X使用了全部12个CCD,所以它的3D V-Cache容量达到了768MB,三级缓存总容量为768MB+384MB=1152MB缓存。
EPYC 9084X系列处理器主要拥有三款型号,它们在核心、线程数,缓存容量上各不相同。
剩下两款定位稍低的3D V-Cache EPYC处理器设置则更为保守,与同为32核心、64线程的EPYC 9354对比,EPYC 9384X的基准频率、最高加速频率都要略低一些,功耗为320W。尽管工作频率稍低,但三级缓存的大幅增加还是让EPYC 9384X处理器的Default TDP比EPYC 9354的280W略高一些。EPYC 9184X也是类似情况,其最高加速频率比同为16核心、32线程的EPYC 9174F的最高加速频率低了200MHz,额外的L3缓存还是在频率上带来了些许影响,Default TDP仍为320W。
此外,EPYC 9084X系列处理器的这三款产品也可以根据用户需求、散热条件等进行灵活配置,其处理器功耗可以配置到320W~400W。三级缓存容量方面,由于EPYC 9384X和EPYC 9184X只使用了8个CCD,所以它们的3D V-Cache容量为64MB×8=512MB,三级缓存总容量为512MB+32MB×8=768MB。虽然EPYC 9084X的SKU只有三款,但实际上对HPC用户来说,这样的产品设计已经基本上可以满足用户需求了。AMD给出的应用范围显示,16核心的EPYC 9184X适合电路自动化设计的客户,32核心的EPYC 9384X则适合电路自动化设计、流体计算、有限元分析和结构分析场合,96核心的EPYC 9684X则除了不适合需要高频率的电路自动化设计外,其余的场景都是其应用范围。
根据AMD的官方数据,在CFX、流体、LS-DYNA、OpenFOAM等实际测试中,96核心的EPYC 9684X对比60核心的至强铂金8490H拥有很大的领先幅度,最大可以达到2.2~2.9倍性能优势,平均也有2.2~2.4倍性能优势。借助于生产工艺与架构的优势,目前AMD服务器处理器在技术规格上已经远胜于对手,能有这样的成绩完全在我们意料之中,毕竟竞争对手的产品在处理器核心数量、计算线程数量上也大幅落后。那么面对没有3D V-Cache的EPYC 9004处理器,特别是在核心、线程数量上完全相同的产品,EPYC 9084X系列处理器在那些缓存敏感型计算中是否有明显优势呢?
在专业应用上,96核心的EPYC 9684X对比英特尔60核心的至强铂金8490H拥有压倒性的性能优势。
为此我们特别采用同为96核心、192线程设计的EPYC 9654处理器与EPYC 9684X处理器进行了对比测试,让我们看看在核心、线程数相同,缓存容量有明显差异的场景下,缓存容量更多的EPYC 9684X处理器表现如何。
我们如何测试
本次测试统一考察的是双路系统的性能,因此EPYC 9684X、EPYC 9654处理器都统一使用了AMD Titanite SP5 2P2U双路主板。内存方面,两款处理器单路支持12条内存通道,双路系统支持24条内存通道,因此我们也为它们采用了24通道内存配置。本次测试所使用的内存为三星DDR5 4800 64GB,内存总数量为24根,内存总容量为1.5TB,搭配美光9300系列企业级NVMe SSD。
本次测试统一考察的是双路系统的性能,EPYC 9684X、EPYC 9654处理器都统一采用了AMD Titanite SP5 2P2U双路主板,12通道、24条内存配置。
接下来我们在Ubuntu 22.04操作系统下对两款处理器的性能进行了全面测试。为了让读者更好地了解这两款处理器在众多企业级产品中的性能水准,我们还在部分测试中引入了其他处理器已经测试过的成绩。它们是128核心、256线程配置的双路EPYC 9554系统,64核心、128线程配置的双路EPYC 9374F系统,以及128核心、256线程配置,使用DDR4 3200内存的双路EPYC 7763系统。后者隶属第三代EPYC霄龙处理器,采用Zen3处理器架构、TSMC 7nm生产工艺。
第四代AMD EPYC处理器双路系统测试平台一览
处理器:EPYC 9684X×2
EPYC 9654×2
内存: 三星DDR5 4800 64GB×24
主板: AMD Titanite
硬盘: 美光9300系列企业级NVMe SSD
系统: Ubuntu 22.04
基准性能测试
接下来我们首先采用SPECrate 2017、UnixBench Dhrystone 2和Whetstone、Sysbench CPU、HPL与DGEMM测试了处理器的基准性能。
结果令人满意。借助大得多的三级缓存容量与更高的基准频率,EPYC 9684X在所有基准测试中都获得了领先。其中在SPECrate 2017测试中,EPYC 9684X的整数性能、浮点性能分别领先EPYC 9654 8.5%、14.1%;在体现处理器双精度浮点性能与整数性能的Whetstone和Dhrystone 2中,EPYC 9684X也拥有一定优势,分别领先EPYC 9654为4.58%、0.54%;在Sysbench CPU测试中,EPYC 9684X则获得了相对EPYC 9654多达6.93%的领先优势。在HPL与DGEMM测试中,EPYC 9684X的优势收窄,分别为0.45%、1.34%。从测试中来看,SPECrate 2017、Sysbench CPU比较受缓存容量的影响,因此EPYC 9684X会有较大的优势,而HPL、DGEMM、UnixBench的影响较小。
内存性能测试
内存性能测试中,我们仍采用Stream测试两款处理器的内存性能,由于EPYC 9684X支持12通道DDR5 4800内存系统,所以从测试成绩来看,它的内存性能表现也非常优秀。其双路内存带宽达到747955MB/s,比双路EPYC 9654系统的内存带宽还要略高一些,相对双路DDR4 3200 8通道内存系统优势巨大。
应用性能测试
接下来我们测试了两款处理器在C-ray光线追踪、FFmpeg x264视频编码等专业应用中的性能表现。在这些常见应用中,拥有3D V-Cache的EPYC 9684X也拥有很明显的优势。如在C-ray 1.1 4K光线追踪测试中,EPYC 9684X的耗时只有EPYC 9654的一半,在C-ray 1.1 8K光线追踪测试中,EPYC 9684X的耗时也比EPYC 9654少了14.3%。
我们还使用FFmpeg中的编码工具测试了两个双路系统的视频编码性能,编码器为x264,测试处理器在live场景中的编码速度即帧率。同样EPYC 9684X也有小幅领先,其编码速度比EPYC 9654双路系统快了2.8%。我们认为出现这个结果的主要原因还是在于视频编码过程中,数据的存取操作频繁,且数据量大,是制约编码器性能的主要因素之一,所以拥有更大缓存容量的EPYC 9684X双路系统具备一定优势也在情理之中。
新增应用性能测试:libxsmm
除了以上测试,我们还专门增加了部分对缓存敏感的应用测试。首先我们使用Libxsmm进行了测试,它是一个用于专门的密集和稀疏矩阵运算以及深度学习原语的开源库,支持使用Intel AMX、AVX-512和其他现代CPU指令集功能。Libxsmm目前主要用于HPC高性能计算、ML机器学习,以及AD自动驾驶。可以看到,在使用libxsmm库计算时,拥有3D缓存的EPYC 9684X拥有巨大的优势,其算力高达7445GFLOPS,相对EPYC 9654领先多达67.5%,获得了质的飞跃。
新增应用性能测试:OpenFOAM
OpenFOAM则是目前领先的免费开源计算流体动力学 (CFD) 软件,在这个测试中,我们将使用drivaerFastback案例来分析汽车或老旧摩托的空气动力学,并计算其分析执行时间,数值显然是越小越好。同样EPYC 9684X在该测试中拥有压倒性的优势,其任务执行时间只需83.76s,而EPYC 9654则需耗时108.51s,EPYC 9684X的任务执行速度比EPYC 9654快了29.5%。
新增应用性能测试:HeFFTe
HeFFTe是作为百亿亿次计算项目的一部分而开发的高效傅里叶变换库。傅里叶变换 (FFT) 用于许多领域应用,包括分子动力学、频谱估计、快速卷积和相关信号调制、无线多媒体应用。用户可以在不同配置、选项下使用HeFFTe内置的基准测试,非常适合对CPU进行测试。显然在这类密集型计算中,3D缓存可以带来显著的作用,EPYC 9684X在使用HeFFTe库进行计算时,其算力可达135.81GFLOP/s,而EPYC 9654的算力为109.88GFLOPS,前者领先23.6%。
新增应用性能测试:POV-Ray
接下来我们采用常见的POV-Ray对两款处理器的性能进行了测试,POV-RAY即持久视觉光线追踪器是一种用于创建逼真照明图像的开源工具,测试将使用光线追踪来创建3D图形。测试中,软件将测量两款处理器的光线追踪完成时间,数值越小越好。测试结果与C-ray类似,在光线追踪测试中,拥有3D缓存的EPYC 9684X占据优势,只是在POV-Ray中,其领先优势幅度有所缩小,EPYC 9684X的光线追踪执行速度比EPYC 9654快了6.5%。
新增应用性能测试:NAS Parallel Benchmarks
我们还使用了NASA为高端计算机系统开发的基准测试—NAS Parallel Benchmarks即NAS并行基准测试,该测试主要用于评估超级计算机的并行运算性能。其基准测试来源于计算流体动力学软件,我们在该软件中测试了两款处理器的块三对角求解性能,数值越大越好。结果与OpenFOAM基于流体动力学的软件类似,三级缓存容量达到1152MB的EPYC 9684X拥有压倒性的优势,在该测试中领先EPYC 9654高达40.1%。
新增应用性能测试:John The Ripper
John the Ripper是一款开源密码安全审核和密码恢复工具,可用于许多操作系统,支持数百种哈希和密码类型,在本次测试中主要测试两款处理器的MD5加密性能,测试数值越大越好。测试结果同样证明更大的三级缓存容量是有效的,在这个测试中EPYC 9684X小胜对手,加密性能领先EPYC 9654约1.4%。
新增应用性能测试:Rodinia
最后我们则采用了Rodinia这款专注于密集型应用程序的套件进行测试,Rodinia包含了应用程序支持的CUDA、OpenMP和OpenCL并行模型。由于测试的是处理器,所以我们在测试中则选用OpenMP模型,测试处理器进行流体动力计算的能力。测试结果的数值为处理器完成计算的时间。显然处理器计算性能越强,所花时间就越少,所以测试数值是越小越好。
结果也完全在我们的意料之中,与OpenFOAM、NAS Parallel Benchmarks这些基于流体动力学的测试类似,EPYC 9684X的表现更好,其计算执行时间更少,计算执行速度比EPYC 9654快了8.36%。
3D V-Cache就是最大功臣
综合以上大量测试,显然依靠3D V-Cache,EPYC 9684X是一款非常有价值的产品,本次测试中,它在所有测试中都战胜了EPYC 9654。特别是在libxsmm、C-ray光线追踪,以及HeFFTe、OpenFOAM、NAS Parallel Benchmarks等流体动力学计算中,EPYC 9684X都拥有压倒性的优势。我们认为根本原因就在于3D V-Cache的使用。毕竟处理器获取数据主要有两个来源,一个是直接在处理器内部的缓存中获取,一个是在外部内存中获取。
由于SRAM、DRAM两种存储介质的性能不同,再加上物理位置也大不相同,一个近在咫尺,另一个远在天边,所以缓存的传输速度、延迟表现都远优于内存,内存的传输速度一般只有三级缓存的八分之一到十分之一。而EPYC 9654的三级缓存总容量为384MB,EPYC 9684X的三级缓存总容量达到1152MB,容量提升200%,这也就意味着EPYC 9684X的缓存可以存储更多的数据,处理器有更大的概率在自己的缓存中找到需要处理的数据,无须再到“慢吞吞”的内存中查找数据,处理器无效等待数据传输的时间大幅降低,自然处理器的计算效率,处理器的计算性能都可以得到显著提升,特别是在那些计算量大、待处理数据多的密集型计算中,EPYC 9684X就能体现出很大的优势。
为了每天完成16500个流体计算任务,AMD方面仅需要配置12台EPYC 9384X双路服务器,英特尔则需要配置21台至强铂金8462Y双路服务器,在组建成本、能耗比上AMD也有很大的优势。
更值得一提的是,到目前为止,不论是在消费级产品还是企业级产品上,竞争对手都未能推出同类产品,在缓存容量、处理器核心数量、计算线程数量、性能乃至组建成本、能耗比上都有巨大差距。所以对于有流体计算、数据压缩、光线追踪、有限元分析、电路自动化设计和结构分析需求的用户而言,以EPYC 9684X为首的EPYC 9084X系列处理器就是打造高性能、高能效比、高扩展性专业解决方案的不二之选。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !