搞定N卡FFT扩展:3.1倍加速计算效率!

各位跨境实战专家和技术同行们,大家好!
今天咱们不聊市场风向,也不谈流量策略,而是来深入探讨一下底层技术硬实力——如何在最新的英伟达(NVIDIA)GPU架构上,高效地扩展咱们的大规模快速傅里叶变换(FFT)计算。这可不是什么纯理论,而是实打实的性能提升,能直接影响到咱们在AI、科学计算、甚至金融建模等领域处理超大规模数据的效率和成本。
想象一下,当你面对动辄千亿、万亿的数据量时,传统的计算方式可能早已捉襟见肘。而FFT作为这些领域的核心算法,其计算性能的瓶颈,直接决定了咱们项目能走多远、跑多快。英伟达(NVIDIA)的cuFFTMp库,正是为解决这个难题而生,它旨在帮助科学家和工程师们在“百亿亿次级”(Exascale)计算平台上攻克难关。
新媒网跨境获悉,英伟达(NVIDIA)最近发布了cuFFTMp库的最新基准测试,它在最先进的NVIDIA Hopper (DGX-H100) 和 Blackwell (DGX B200, GB200 NVL72) 平台上,展现出了令人惊叹的多GPU、多节点扩展能力。这些测试结果显示,在2048块Hopper GPU上,它实现了高达2.09倍的加速,峰值性能达到了1.69 PFlop/s。更厉害的是,从Ampere架构升级到最新的Blackwell架构,配合全新的多节点NVLink (MNNVL) 技术,整体速度提升高达3.1倍,显著降低了机架级别的通信延迟。
从性能分析咱们能清晰地看到,Eos(基于Hopper架构)和GB200 NVL72(基于Blackwell架构)这两大超级计算机的架构改进,尤其是NVLink和InfiniBand带宽的提升,以及MNNVL技术的引入,直接推动了FFT计算的巨大飞跃。这些技术显著减少了GPU间和节点间的通信瓶颈。举个例子,Blackwell架构的GB200 NVL72系统,仅仅使用64块GPU就能达到甚至超越1024块Hopper GPU的性能,这正是得益于这些创新带来的底层架构优势。
这些技术突破不仅仅是数字上的好看,更带来了实际的应用价值。比如,cuFFTMp与GROMACS v2025.1生物分子模拟软件的深度融合,使得大型benchPEP-h基准测试的扩展速度提升了近2倍,PRS2系统更是比之前Ampere/InfiniBand的方案快了3倍多。这充分说明了高带宽、低延迟的互连技术对于大型科学计算的重要性,它直接关系到咱们疾病预防、新药研发等国计民生领域的研究效率。这项成果是由Leopold Cambier、Miguel Ferrer Avila和Lukasz Ligowski等工程师共同贡献的。
FFT作为咱们科学计算领域的“瑞士军刀”,在分子动力学、信号处理、计算流体力学(CFD)、无线多媒体以及机器学习等众多应用中无处不在。随着计算问题规模的不断扩大,咱们的研究人员需要将FFT计算分布到成百上千块GPU上,甚至跨越多个计算节点。NVIDIA cuFFTMp,作为cuFFT的多GPU、多节点(MGMN)扩展,就是为了让咱们能够应对这些“百亿亿次级”平台上的严峻挑战。
此前,cuFFTMp在Volta和Ampere架构的超级计算机上已经取得了很好的扩展成果。今天,咱们就继续深入,看看它如何在最新的NVIDIA GPU架构上,再次展现其强大的扩展能力。
cuFFTMp在NVIDIA Hopper平台上的表现与扩展能力
为了给大家展示cuFFTMp的实战能力,我们首先在NVIDIA的Eos超级计算机上进行了基准测试。Eos超级计算机采用了NVIDIA DGX H100系统,每个节点都配备了两颗英特尔至强(Intel Xeon)Platinum 8480C 56核CPU,以及八块通过NVLink 4 Switch连接的H100 GPU(双向带宽高达900 GB/s)。所有节点之间则通过NVIDIA Quantum-2 InfiniBand互联(每个节点双向带宽400 Gb/s)。
与我们之前文章中提到的Selene超级计算机相比,Eos的NVLink带宽提升了1.5倍,InfiniBand带宽更是提升了2倍。这样的对比至关重要,因为这两个系统分别代表了连续两代GPU架构的顶尖配置。通过对比,咱们就能量化地看到,从Ampere平台升级到Hopper平台后,实际性能能提升多少,这对于咱们考虑基础设施升级的同行来说,是极具参考价值的。
上图展示了cuFFTMp在NVIDIA Eos超级计算机上,针对不同问题规模所展现出的稳健弱扩展性。所谓“弱扩展性”,简单理解就是当咱们增加计算资源(比如GPU数量)时,每个GPU处理的任务量也相应增加,但总的计算时间并不会显著延长,这说明系统能够有效地利用更多的资源来解决更大的问题。
上图则进一步展示了Eos相对于Selene的相对加速比。可以看到,在每一个GPU数量下,cuFFTMp都能持续实现大约2倍的加速(最高达到2.09倍),当使用2048块GPU时,计算性能可以达到1.69 PFlop/s。这数据非常振奋人心,说明Hopper架构带来的性能飞跃是实实在在的。
接下来,咱们看看上图展示的cuFFTMp针对1,024³和2,048³两种问题规模的“强扩展性”表现。所谓“强扩展性”,指的是当咱们固定总的任务量不变,仅仅增加计算资源(GPU数量)时,计算任务完成所需的时间如何缩短。图中的曲线告诉我们,从单个节点(8块GPU)到两个节点(16块GPU)之间,性能出现了一个明显的过渡。这是因为与NVLink相比,InfiniBand的峰值带宽相对较低,导致跨节点通信成为瓶颈。
不过,在此之后,系统性能一直呈现线性扩展,直到256个节点(共2,048块GPU)。当GPU数量超过64个节点和128个节点时,性能增长开始趋于平稳,这也提醒我们,在超大规模集群中,通信瓶颈始终是咱们需要重点关注的。
上图对比了2,048³问题规模下,与DGX A100系统的表现。咱们可以清晰地看到,当InfiniBand带宽提升2倍时,咱们的整体加速比也接近2倍。在某些特定情况下(比如128个节点时,加速比达到2.58倍),性能提升甚至超过了2倍。这主要是因为cuFFTMp采用了最先进的融合内核(fused kernel)实现,有效解决了之前版本中发现的性能瓶颈。所以说,底层算法优化和硬件协同的重要性,在此刻体现得淋漓尽致。
cuFFTMp在NVIDIA Blackwell平台上的表现与扩展能力
NVIDIA的Blackwell架构,在互连带宽方面带来了显著的改进,这绝对是划时代的进步。更重要的是,Blackwell引入了多节点NVLink (MNNVL) 技术,它将高带宽的NVLink连接扩展到了单个机架内的多个节点,真正实现了机架级别的超高速互联。cuFFTMp库能够充分利用底层的硬件拓扑和网络特性,从而实现最佳性能。
咱们来看看上图展示的在最新NVIDIA Blackwell系统上,针对1,024³ FFTs的测试结果。NVIDIA DGX B200系统,每个系统包含八块完全互联的B200 GPU,采用第五代NVLink和NVLink Switch,其带宽是上一代的2倍(每个GPU双向带宽1.8 TB/s)。而NVIDIA GB200 NVL72系统,则是一个全新的MNNVL机架级系统,它每个节点包含两颗72核的Grace CPU和四块Blackwell GPU,每个机架有18个这样的节点。在同一个机架内的GPU之间,都通过NVLink 5 Switch以峰值带宽互联。对于这两种系统,不同的机架之间则通过NVIDIA Quantum-2 InfiniBand(每个节点双向带宽400 Gb/s)连接。
首先咱们发现,从Ampere架构升级到Blackwell架构,在使用最多八块GPU时,速度提升了约3.1倍(从Hopper架构升级到Blackwell架构则提升了约1.7倍)。对于DGX B200系统,和DGX H100系统一样,在16块GPU时同样出现了性能过渡,这是因为达到了InfiniBand的峰值带宽。
然而,GB200 NVL72系统却展现出了惊人的线性扩展能力,直到64块GPU都保持着 consistent的线性增长。这是因为所有64块GPU都位于同一个NVLink域内,能够享受到峰值的NVLink带宽。
新媒网跨境认为,最值得咱们关注的是,NVIDIA GB200 NVL72系统在仅使用64块GPU时,所达到的执行时间,甚至连1024块H100 GPU也无法企及!这是因为积累的通信延迟开销实在是太大了。这清晰地展示了MNNVL架构对于那些对延迟敏感的工作负载来说,具有根本性的架构优势。当GPU数量达到128块时,性能表现就主要取决于NVIDIA GB200 NVL72系统不同机架之间的InfiniBand连接了。在所有基准测试中,基于InfiniBand的横向扩展连接机制下,性能最终会趋于一致,尽管达到这一收敛点所需的GPU数量可能不同,因为所有的InfiniBand连接都共享着相同的带宽特性。
GROMACS如何利用cuFFTMp进行生物分子模拟
GROMACS,作为一款广泛应用于生物分子系统模拟的科学软件包,对于咱们理解生物过程,进而预防和治疗疾病,发挥着至关重要的作用。在之前的文章中,咱们已经探讨了cuFFTMp集成到GROMACS后,如何实现巨大的扩展性提升。今天,咱们要展示的是在全新的Grace-Blackwell MNNVL架构上运行GROMACS所实现的进一步突破。
咱们测试了包含590万个原子的“PRS2”案例,这是一个在突触囊泡融合模拟研究中的重要系统。这些模拟揭示了神经递质释放过程中关键蛋白质如何使神经递质中的关键结构与质膜融合,这是神经细胞通信的关键一步。咱们还加入了更大规模的1240万个原子的“benchPEP-h”案例,以便与之前的文章进行直接对比。
上图右侧的曲线显示,NVIDIA Grace Blackwell和MNNVL的结合,使得大型benchPEP-h案例的模拟速度达到了近200纳秒/天(每天完成的模拟纳秒数),这比x86+Hopper/InfiniBand的方案快了近2倍,比之前文章中报告的x86+Ampere/InfiniBand方案更是快了3倍多。
而上图左侧的曲线,则展示了针对较小PRS2系统(该系统对通信成本更为敏感)更大的扩展性和性能优势。这充分证明了全新的Grace Blackwell MNNVL架构不仅对于现代AI的扩展至关重要,也同样非常适用于分子动力学模拟。高带宽、低延迟的多节点通信,让咱们的研究人员能够比以往任何时候都更快地获得模拟结果,极大地加速了科学发现的进程。
如何开始使用cuFFTMp
对于咱们这些渴望利用这些性能提升的研究人员和开发者来说,cuFFTMp现在可以从英伟达(NVIDIA)开发者专区下载,既可以作为独立软件包,也可以作为NVIDIA HPC SDK堆栈的一部分。代码示例和API使用方法,都可以在cuFFTMp的官方文档中找到。
cuFFTMp依赖NVIDIA NVSHMEM来实现GPU发起的通信,而且它与NVSHMEM的兼容性在最近几个版本中有了显著提升。从cuFFTMp 11.2.6版本开始,NVSHMEM的主机和设备库之间支持ABI向后兼容性,这意味着在NVSHMEM主要版本内部,可以独立更新NVSHMEM,而无需更新cuFFTMp,这无疑为咱们的开发和维护带来了极大的便利。
Python用户也有多种方式来使用cuFFTMp的功能。对于那些追求纯粹“Pythonic”体验的朋友们,可以通过nvmath-python库,将分布式FFT扩展到数千块GPU,其性能与原生的CUDA实现不相上下。这个库还提供了Python绑定,方便进行更底层的集成。下面是一个使用nvmath-python并以cuFFTMp作为后端计算分布式FFT的简单示例:
import numpy as np
import cuda.core.experimental
import nvmath.distributed
from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
nranks = comm.Get_size()
device_id = rank % cuda.core.experimental.system.num_devices
nvmath.distributed.initialize(device_id, comm, backends=["nvshmem"])
shape = 64, 256 // nranks, 128
a = np.random.rand(*shape) + 1j * np.random.rand(*shape)
b = nvmath.distributed.fft.fft(a, distribution=nvmath.distributed.distribution.Slab.Y)
如果各位更倾向于纯粹的cuFFTMp二进制文件,也可以从PyPI或conda-forge直接下载。
最好的发展往往源于大家的反馈,所以,如果您有任何建议,请随时联系我们:mathlibs-feedback@nvidia.com。您的宝贵意见,将是推动技术进步的强大动力。
本次博客中提到的工作由Leopold Cambier、Miguel Ferrer Avila和Lukasz Ligowski贡献。
新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。
本文来源:新媒网 https://nmedialink.com/posts/master-nvidia-fft-scaling-31x-boost.html


粤公网安备 44011302004783号 











