日本为何持续投资自研浮点加速器?Pezy SC4s挑战Nvidia
快速阅读: Pezy Computing开发高性能数学加速器,采用不同架构提高能效,最新SC4s芯片浮点性能显著提升,计划用于2029年FugakuNext超级计算机。
高性能计算走向主流,特别是生成式人工智能(GenAI),这得益于数以百万计的人近二十年的努力。如今,全球系统支出的一半用于配备加速器的AI服务器。
尽管GPU是最常用的加速器,因为它们像CPU一样是通用处理器,支持高吞吐量矢量处理和张量处理,但并没有法律规定加速器必须是GPU。Pezy Computing KK,其名称代表了Peta、Exa、Zetta和Yotta,如同高性能计算和人工智能领域的啦啦队口号,过去十五年一直在开发数学加速器。这些加速器旨在实现与GPU相同的工作,但采用了不同的架构,以最大限度地提高能效。该公司由日本新能源和工业技术发展组织(NEDO)资助,该组织还资助了富士通设计的“Monaka”Arm服务器CPU,该CPU将用于“FugakuNext”超级计算机。
令人惊讶的是,FugakuNext至少没有部分计算来自Pezy SC加速器……或许在2029年FugakuNext安装时会有这样的配置。
Pezy Computing的硬件工程师Naoya Hatta在Hot Chips 2025上展示了自2012年4月推出Pezy-1芯片以来交付的一系列数字处理加速器的最新成果。以下是Hatta展示的表格:
以及我们扩展的表格,包含更多特性和分析:
Pezy-1芯片未在Hatta的表格中显示,它拥有512个RISC内核用于计算和图像处理,两个小型Arm内核,全部采用台积电40纳米工艺制造。运行频率为533 MHz,双精度浮点运算能力为266 Gflops,单精度为533 Gflops。
2013年,SC系列加速器(Super Computer的缩写)首次亮相,并于2014年被用于多个进入Top500和Green500超级计算机排名的超级计算机。第一款SC变种的RISC内核实现了每个内核八线程的同时多线程,这意味着其1,024个内核以733 MHz的速度运行时可以提供总共8,192个线程给应用程序。这款采用台积电28纳米工艺制造的芯片,可实现750 Gflops的FP64性能和1.5 Tflops的FP32性能。执行计算的RISC内核称为处理器单元(PE),每个PE有2 KB缓存——两个用于指令,一个用于数据,总共有2 MB的L2指令缓存和1 MB的L2数据缓存。每个PE还有一个16 KB的临时内存,总计16 MB。
在Pezy-SC设计中,PE以四个为一组形成“村庄”,四个村庄组成一个“城市”,共享L2数据和指令缓存,十六个城市(或256个PE)组成一个“县”,每个县中心有2 MB的共享L3缓存。Pezy-SC配备了四个DDR4内存通道和两个PCI-Express 3.0 x8端口,峰值功耗为100瓦。
2017年推出的Pezy-SC2设计中,整个复合体共享40 MB的L3缓存,显著提升了性能。RISC内核组成的PE增加了两倍,时钟速度提高了36.4%,达到1 GHz。这些改进使得FP64和FP32格式的浮点吞吐量提高了5.5倍。
2020年的Pezy-SC3再次将PE数量翻倍,时钟速度提高20%至1.2 GHz,增加了HBM2内存,这些改进使浮点吞吐量提高了4.8倍。2021年,推出了基于SC3的简化版SC3s,只有512个核心,可能是为了测试只使用HBM2内存的小型芯片并将其组合起来以降低基于Pezy浮点引擎的服务器节点成本的想法。(关于SC3s芯片的信息不多。)
上周在Hot Chips上公布的Pezy-SC4s将于明年在ExaScaler系统中出货,采用台积电5纳米工艺,核心数量增加到2,048个,时钟速度提高到1.5 GHz。
SC4s芯片还将配备96GB的HBM3内存,带宽为3.2TB/s。根据上表列出的规格,这款芯片面积将减少29.3%,但集成的晶体管数量达到48亿个,比Pezy-SC3芯片增加了45.5%。此外,时钟速度提高了25%,但由于时钟速度的提高和显著增加的64MB三级缓存,我们估计功耗将升至600瓦,增幅达27.7%。相比之下,浮点吞吐量增加了24.9%,这些变化对我们来说都是合理的交易。SC4s还增加了对BF16处理的支持,以及SC3和SC3s芯片支持的FP64、FP32和FP16处理。
Pezy Computing的设计非常优雅,这一点我们将在下面的一些图表中展示。过去的Pezy芯片中集成了强大的MIPS内核,现在SC4s芯片中则采用了RISC-V内核,这意味着不再需要英特尔或AMD的X86主机处理器来运行Linux操作系统以运行主机软件并管理PE上的计算。加速器是自包含的,就像日本RIKEN实验室的K和Fugaku超级计算机中使用的Sparc和Arm处理器一样,这是日本高性能计算中心的旗舰项目。
接下来,让我们看看SC4s芯片的复杂结构,然后考虑未来的SC5s可能会是什么样子,以及日本为何要这么做。(有充分的理由。)
Pezy Computing架构基于一种称为单程序多数据(SPMD)的多指令多数据(MIMD)架构变体:
简单来说,MIMD提供了最灵活的并行编程方式,可以自由决定并行性的性质。SIMT,例如在GPU或共享内存池中的多个GPU编程中使用的方式,组织线程以同步方式对不同数据执行并行操作,从而提高效率但牺牲了灵活性。
Pezy Computing及其细粒度多线程技术采用SPMD方法,程序显式调度线程和数据,因此不需要分支预测器和乱序指令发出来尝试增强并行性和计算效率。这意味着内核更简单,可以在给定的硅片上集成更多内核。当一个线程因等待内存中的数据而停滞时,另一个线程可以接管处理,以隐藏这种延迟。(尽管这远不如具有数千个内核的GPU强大。)
Pezy架构在每个PE中实现了细粒度和粗粒度多线程,横跨八个线程,并努力在计算、内存容量和内存带宽之间实现平衡。缓存层次结构是保持这些PE忙碌的秘密之一:
接下来,让我们看看在Hot Chips上首次亮相的Pezy-SC4s芯片:
设计中的2048个PE用黄色表示,可处理16,384个线程。SC4s芯片中的PE具有4KB的一级指令缓存、4KB的一级数据缓存和24KB的暂存缓存,这比以往的设计要小得多。PE的组织方式如下:
与之前的Pezy Computing芯片一样,四个PE组成一个村庄,允许它们共享暂存缓存。一个城市由四个村庄组成,共享32KB的一级指令缓存和64KB的一级数据缓存。十八个城市链接成一个县,但只激活了十六个,以提高5纳米工艺的产量。八个县链接成一个州,共享64MB的三级缓存。
为什么我们现在谈论州?因为我们认为Pezy-SC5s芯片在从台积电的5纳米工艺缩小到3纳米工艺后,会在单个插槽中包含两个芯片组(或州)。那么,插槽就是一个国家?
这些PE及其缓存通过一个定制的交叉总线互连,该总线为读操作提供12TB/s的聚合带宽,为写操作提供6TB/s的带宽。
在芯片底部,几乎看不见的一个矩形区域是一个IP模块,其中包含四个运行频率为1.5GHz的开源RISC-V CPU内核,它们执行有序标量处理,并为每个SC4s加速器运行Linux主机操作系统。紧邻RISC-V内核的是一个PCI-Express 5.0控制器,具有十六个I/O通道,带宽为64GB/s。
看起来X86主机又回来了。原因可能是AI和HPC软件在X86平台上的普及程度高于SC4s嵌入的RISC-V内核。
这是Pezy Computing为SC4s加速器创建的当前系统板:
主机配备了AMD的64核“Turin”Epyc 9555P处理器,卡顶装有400 Gb/s的NDR InfiniBand控制器,底部配置了四个SC4加速器,通过PCI-Express通道与主机相连,可能还使用了PCI-Express交换机。Pezy Computing表示计划构建一个测试系统,该系统将包含90个这样的节点,总计737,280个处理单元(PE),峰值FP64性能达到8.6 petaflops。
当然,Pezy Computing不得不创建自己的软件栈,其架构如下所示:
Pezy Computing平台的人工智能栈同样如此:
多年来我们一直认为,运行PyTorch框架对于许多人工智能工作来说已经足够好,看起来Pezy Computing也同意这一点。(我们对Meta Platforms的Llama模型抱有更多希望,但并不像马克·扎克伯格和他的AI团队那样乐观……不过,不要就此低估扎克伯格。)目前,Google的Gemma3和Meta的Llama3模型已被移植到SC4s上,阿里巴巴的Qwen2、Stable Diffusion 2以及Hugging Face的HuBert也是如此。
我们期待明年SC4s发货时能见到更多实际性能表现。Hatta在其演讲中提到,使用Genome Analysis Toolkit (GATK)进行基因组分析时,四颗Pezy-SC3芯片每样本耗时33分钟,而八颗Nvidia的“Hopper”H100 GPU则需37分钟。这意味着每个SC3的性能是H100的2.25倍。考虑到SC4s的浮点运算能力比SC3高出约25%,我们推测SC4s在GATK上的性能约为H100的2.8倍。虽然尚不清楚GATK对FP64的依赖程度,但Nvidia的H100在FP64方面远胜于其“Blackwell”B100和B300 GPU。
最终,高性能计算中心和AI模型构建者关注的是每瓦特浮点运算次数。从上表可以看出,Pezy Computing在提高每瓦特浮点运算次数方面取得了进展,但似乎试图将这一指标的增长控制在较低水平,以容纳更多的计算单元。SC3在FP64精度下的每瓦特浮点运算次数为41.9 Gflops,预计SC4s将达到约41 Gflops。如果SC5s如我们预期的那样——基本上是带有FP8数学运算的双芯片版本SC4s——它在FP64数学运算中的每瓦特浮点运算次数将达到约45.8 Gflops。(扩展跨芯片互连到两个芯片上并不会太难。)
Nvidia的Hopper H200在FP64下每瓦特浮点运算次数为47.9 Gflops(33.5 Teraflops除以700瓦),Blackwell B200的评分为33.3 Gflops/瓦(40 Teraflops除以1200瓦)。Blackwell B300的FP64性能严重下降至1.25 Teraflops,功耗为1400瓦,即0.89 Gflops/瓦。(B300主要针对低精度AI推理。)
显然,在高精度下,Pezy可以与Nvidia的GPU在每瓦特浮点运算次数上一较高下,并且为非AI工作负载提供更灵活的编程支持。诚然,GPU中的张量核心在FP64和FP32精度下的浮点运算能力是Pezy的两倍,同时也提供了用于AI训练(FP8)和推理(FP4)的更低精度。
然而,日本政府可以通过资助这一项目,将Pezy Computing作为备用方案,保持国内设计数学加速器的技能。我们认为,这正是未来会有Pezy-SC5s及其后续产品的原因。因为谁也无法预料何时因需求过高或出口受限而无法获得GPU。
我们充分意识到,RIKEN将在2029年投入使用的FugakuNext系统的大部分浮点运算能力将来自未来的Nvidia GPU。但我们仍然认为,有足够的时间和资金来纳入一些Pezy加速器机架。为什么不呢?
(以上内容均由Ai生成)