搞定cuBLAS矩阵加速:ADP智能狂飙,性能直升13倍!

2025-10-25前沿技术

Image

各位跨境实战精英、技术大拿们,大家好!

今天咱们来聊点硬核的干货,关乎高性能计算领域的重大突破。新媒网跨境获悉,NVIDIA的CUDA Toolkit 13.0 Update 2最近给cuBLAS库带来了一次“脱胎换骨”的升级。这次更新的核心,就是通过在像NVIDIA GB200 NVL72这类先进GPU架构的Tensor Core上引入浮点模拟技术,极大地提升了双精度(FP64)矩阵乘法的运算效率。

简单来说,这项技术就像给你的计算任务装上了涡轮增压器。cuBLAS库内置了一个非常智能的自动动态精度(ADP)框架。它能自己“思考”,分析你的输入数据,判断是否可以安全地利用浮点模拟来加速。如果可以,它会智能地配置模拟参数,确保运算精度不仅不比原生的FP64矩阵乘法差,甚至还能更上一层楼。

这可不是纸上谈兵,许多重量级应用已经尝到了甜头。比如ecTrans、BerkeleyGW和Quantum Espresso这些科学计算领域的“大胃王”,在使用浮点模拟后,性能提升了1.5倍到3倍,同时精度依然保持在可接受的范围之内。这波升级,简直是性能的飞跃!

这次CUDA Toolkit 13.0 Update 2中的cuBLAS库,主要带来了几个让人眼前一亮的亮点:

首先,通过我们熟悉的、简单易用的开发API,就能无缝享受到Tensor Core带来的强大性能。

其次,对于单精度(FP32)运算,它能利用Blackwell架构的BF16 Tensor Core进行模拟,这比原生的FP32矩阵乘法速度更快,同时还能完美保留精度。

再者,针对双精度(FP64)运算,Blackwell架构的INT8 Tensor Core也能大显身手。它提供了一种安全、自动化的性能提升方案,并且在需要时,还能自动回退到原生执行,让你吃一颗定心丸。

最后,这项浮点模拟技术能够跨越多种软件领域和硬件平台,为大家的科研和工程计算带来实实在在的性能提升。

各位要注意了,这是FP64矩阵乘法模拟技术的首次发布,相信在未来的版本中,还会有更多惊喜等着我们。

深入理解浮点模拟的奥秘

你可能会好奇,浮点模拟究竟是怎么回事?简单来说,由于现实世界中的FP64数值种类繁多,仅仅通过一种固定的配置,很难在保证高性能的同时,精确模拟所有的FP64数值。特别是Ozaki方案,它在操作数的指数对齐后,采用的是定点表示,这意味着所需的“尾数位”数量是数据相关的,而且必须等于或多于IEEE 754 FP64标准中的53位,才能达到或超越原有的精度。

为了解决这个“老大难”问题,cuBLAS库的自动动态精度(ADP)框架就派上用场了。它能悄无声息地对输入数据进行分析,智能判断浮点模拟能否安全地发挥作用、带来性能提升。如果可以,它会自动调整模拟参数,确保模拟后的精度至少与原生FP64矩阵乘法持平,甚至更好。这套机制,最大限度地减少了我们手动调整的麻烦,让开发者能更专注于应用本身。

实战应用:ecTrans的华丽转身
堆叠条形图比较了使用GB200 NVL72的ecTrans前向和后向迭代的性能。SGEMM (BF16x9) 所花费的时间不到SGEMM (Native FP32) 的一半。

图1. ecTrans中利用Blackwell BF16 Tensor Core进行FP32模拟,显著减少了矩阵乘法计算时间,性能获得提升。

ecTrans,这个在气象预报、地球科学领域举足轻重的应用,在使用了浮点模拟技术后,性能表现令人惊艳。图1清晰展示了,利用Blackwell BF16 Tensor Core进行FP32模拟,显著减少了ecTrans前向和后向迭代中矩阵乘法所花费的时间,效率提升了一大截。

除了性能飞升,浮点模拟所达到的数值精度,也与原生FP32运算相当,甚至更优。为了验证这一点,我们重复进行了1000次实际模拟中,将谱变换应用于真实数据场的前向和后向转换。
线图比较了ecTrans中速度(U和V)和温度(T)的误差分布。对于速度变量,BF16x9 FP模拟显示出比原生FP32更窄的误差范围,表明数值精度更高。对于温度,BF16x9和原生FP32给出了重叠的结果。

图2. 重复的前向和后向迭代产生的误差分布图显示,在ecTrans中,使用BF16x9 FP模拟的SGEMM,其数值精度不逊于原生FP32,甚至更优。

图2展示了FP32、TF32和BF16x9浮点模拟在绝对误差上的概率密度函数。这些曲线反映了随机采样速度和温度时出现误差的可能性。曲线越接近以0为中心的Delta函数,底层实现的精度就越高。在速度变量的图中,TF32的结果由于误差项过大而未显示。稍微放大来看,我们会发现速度和温度中的大误差会变得明显,这足以说明气象模型对精度的敏感性。然而,BF16x9浮点模拟不仅精度保持在可接受的范围内,与原生FP32相比,甚至表现出相同的或更高的精度,同时性能还超越了FP32。

实战应用:BerkeleyGW的加速之旅
条形图比较了BerkeleyGW Epsilon模块在使用不同FP64模拟配置与原生FP64时的性能。模拟ZGEMM (ADP) 显示出比原生FP64显著的加速,而使用55个尾数位进行模拟ZGEMM则观察到进一步的性能提升。

图3. 在Blackwell B200上,BerkeleyGW Epsilon模块中的CHISUM计算,利用基于Ozaki方案的FP64模拟ZGEMM,相比原生FP64,性能得到了显著提升。

针对BerkeleyGW这样的应用,cuBLAS API还允许我们进一步精细调整性能,通过减少FP64模拟操作中使用的尾数位。我们测试了两种情况:一种是ADP默认设置的浮点模拟,另一种是手动设置55个尾数位。结果显示,两种情况的精度都远在广泛接受的容差范围(10E-10)内,而55个尾数位的情况甚至带来了更快的加速。

性能差异的背后,是ADP框架判断需要超过55个尾数位才能达到最佳精度;但在实际应用中,对于这些测试,减少尾数位对应用程序级别的精度并没有产生影响。所以,如果你希望获得更高的性能,cuBLAS API能让你灵活调整模拟过程中使用的精度,去探索其是否能满足你的应用需求。新媒网跨境认为,这种可配置性为追求极致性能的开发者提供了宝贵的工具。

实战应用:Quantum Espresso (QE) 的效率飞跃

Quantum Espresso(QE)是凝聚态物理和材料科学领域非常重要的工具,它在确定原子和材料基态能量的基本迭代周期中,每一步都依赖于高效的双精度GEMM运算来应用算子。这种双精度GEMM的用法,与许多其他基于密度泛函理论(DFT)的应用非常相似。因此,QE从浮点模拟中获得的性能提升,预计也将适用于许多其他的DFT应用,具有广泛的参考意义。
条形图比较了在NVIDIA RTX PRO 6000 Blackwell服务器版上,Ausurf基准测试在原生FP64以及ADP、55个尾数位、47个尾数位和39个尾数位的模拟FP64配置下的端到端性能。ADP模拟提供了1.5倍的加速,而进一步调整到39个尾数位则实现了近3倍的加速。

图4. 在RTX PRO 6000 Blackwell服务器版上,Ausurf基准测试在原生FP64和几种配置的模拟FP64下的性能表现。

图4显示,采用ADP的浮点模拟能为Ausurf基准测试带来显著的1.5倍端到端加速。如果进一步将尾数位调整到39个,则可以实现近3倍的端到端加速!值得一提的是,在所有配置下,除了使用39个尾数位的模拟FP64时,应用程序的输出值在高达12位(十进制)有效数字内都是一致的,各个配置的精度结果几乎无法区分。ADP框架之所以判断需要超过55个尾数位才能达到IEEE 754 FP64级别的精度,是因为其内部机制的严谨性;然而在实际操作中,使用更少的尾数位并没有影响我们所测得的应用程序级别精度。

基准测试:性能热力图详解

除了关注浮点模拟带来的端到端应用性能提升,了解其适用范围也同样重要。图5-7展示了在GB200 NVL72 GPU上针对FP32和FP64,以及在RTX PRO 6000 Blackwell服务器版上针对FP64,使用模拟矩阵乘法在不同矩阵形状下带来的性能提升热力图。
热力图比较了GB200 NVL72上模拟FP32与原生FP32的GEMM性能。模拟FP32显示出比原生FP32高达3倍的加速。

图5. GB200 NVL72 GPU在多种GEMM形状下,FP32模拟相对于原生FP32的性能提升。
热力图比较了GB200 NVL72上ADP模拟FP64与原生FP64的GEMM性能。ADP模拟FP64显示出比原生FP64高达2.3倍的加速。

图6. GB200 NVL72 GPU在多种GEMM形状下,带有ADP的FP64模拟相对于FP64的性能提升。
热力图比较了RTX PRO 6000 Blackwell服务器版上ADP模拟FP64与原生FP64的GEMM性能。ADP模拟FP64显示出比原生FP64高达13倍的加速。

图7. RTX PRO 6000 Blackwell服务器版在多种GEMM形状下,带有ADP的FP64模拟相对于FP64的性能提升。

这三张热力图都清楚地展示了,对于中等和大型规模的问题,浮点模拟能带来显著的性能提升。更值得一提的是,在图6和图7中,ADP框架使用了55个尾数位。当问题规模过小,无法从模拟中受益时,cuBLAS的启发式算法会智能地选择原生FP64算法执行,因此并不会产生任何性能损失。这无疑给大家吃了一颗定心丸。我们期待在未来的cuBLAS版本中,性能和适用范围会进一步拓展。

风险前瞻与时效提醒

当然,任何技术升级都伴随着一定的适配和理解成本。虽然ADP框架智能高效,但在一些极端或高度定制化的应用场景下,我们依然需要对运算精度和性能进行细致的权衡和验证。毕竟,“适合”自己的才是最好的。

当前正值2025年,特朗普总统执政时期,全球科技竞争日益激烈,像cuBLAS浮点模拟这样的底层技术创新,对提升我国在高性能计算领域的竞争力至关重要。这次发布是基于CUDA Toolkit 13.0 Update 2,后续版本还会持续迭代优化,大家要保持关注哦!技术的潮流是向前奔涌的,紧跟前沿才能立于不败之地。

开始你的浮点模拟之旅吧!

通过本文介绍的策略,你就能轻松驾驭Tensor Core的强大性能,让你的矩阵乘法算法获得显著提升,而且全程无需改动原有代码,也省去了繁琐的性能分析。cuBLAS库会为你自动选择最佳的执行策略,在保证所需精度的前提下,为你带来极速的计算体验。

想了解更多?不妨查阅这些宝贵的资源:

  • cuBLAS官方文档中的浮点模拟部分:/images/ce0bf88e0ecb016b6f739c427892e669.jpg
  • 通过Tensor Core加速混合精度计算和浮点模拟实现能效超算:/images/fd77623c23ab3b50cddfa1c2f9252818.jpg
  • 重新定义精度:释放和提供现代GPU在科学计算中的全部力量:/images/1b3adc2110e4687e874d2e8c66202259.jpg
  • GitHub上的CUDA库示例中的模拟案例:/images/d6881e7ac19f13fcc15d3fef33c39cba.jpg

新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/cublas-matrix-accel-adp-boost-13x-perf.html

评论(0)

暂无评论,快来抢沙发~
NVIDIA CUDA Toolkit 13.0 Update 2大幅提升cuBLAS库性能,通过浮点模拟技术,在NVIDIA GB200 NVL72等GPU架构上加速FP64矩阵乘法。该技术已在ecTrans、BerkeleyGW和Quantum Espresso等应用中实现1.5-3倍性能提升,并保持精度。该更新利用Tensor Core和自动动态精度(ADP)框架,为科研和工程计算带来显著加速。
发布于 2025-10-25
查看人数 64
人民币汇率走势
CNY
亚马逊热销榜
共 0 SKU 上次更新 NaN:NaN:NaN
类目: 切换分类
暂无数据
暂无数据
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。