新闻中心

NVIDIA RAPIDS 24.10:Python 数据科学工作流的 GPU 加速边界与评估重点 NEWS DETAIL

当前位置:首页 > 新闻中心
资讯分类 · 新闻中心 作者 · 中科新远内容团队 审核人 · 中科新远技术内容组 发布时间 · 2025-02-06 更新时间 · 2026-07-22 来源 · 原页面资料;原厂信息待核验
NVIDIA RAPIDS 24.10:Python 数据科学工作流的 GPU 加速边界与评估重点

NVIDIA RAPIDS 24.10 的核心变化,是把 GPU 加速进一步带入既有 Python 数据科学工作流,而不只面向重写后的专用代码。本次发布涉及由 cuGraph 加速的 NetworkX 正式发布、Polars GPU 引擎公开测试、支持处理大于 GPU 显存的数据集的 cuML UMAP、cuDF pandas 的 NumPy 与 PyArrow 兼容性改进,以及 GitHub CI 中使用 GPU 的部署指引。对团队而言,关键不在于直接套用性能数字,而在于确认现有 API、数据规模、硬件与测试流程是否适合这些路径。

本次版本改变了什么

从 NetworkX 3.4 起,RAPIDS cuGraph 加速的 NetworkX 已在 RAPIDS 24.10 中正式发布。来源指出,该路径增加了 GPU 加速图构建、更新后的使用体验和扩展文档,可减少大型图工作流在 CPU 与 GPU 间转换造成的性能损失。文中以 PageRank 和介数中心性为例,说明端到端流程可获得明显加速;但其展示的 70 倍和 485 倍结果分别基于指定图数据、NVIDIA A100 80GB、Intel Xeon w9-3495X、软件版本及算法参数,不能视为其他环境的预期结果。

Polars 方面,由 cuDF 支持的 Polars GPU 引擎仍处于公开测试阶段。来源称,用户可在 Polars Lazy API 中通过 collect(engine="gpu") 触发 GPU 执行。其 PDS-H 测试中的最高 13 倍加速,针对包含复杂分组与连接操作的一组查询,使用 NVIDIA H100、本地 NVMe 和特定扩展系数;来源也明确说明该结果不可与 TPC-H 结果比较。

为什么这对数据团队重要

这些更新反映出 GPU 数据处理的采用方式正在从“迁移到另一套 API”转向“在已有 Python 工作流中选择性启用加速”。NetworkX 用户可评估是否能在图构建和算法阶段形成连续的 GPU 路径;Polars 用户则可检查 Lazy 查询是否适合 GPU 引擎。cuDF pandas 对真实 NumPy 数组的兼容性改进,降低了依赖 isinstance(..., np.ndarray) 或 NumPy C API 的既有代码出现行为差异的风险。

同时,cuDF Python 改为使用 Arrow C 数据接口后,来源称其可支持 PyArrow 4 以来的任意 PyArrow 版本。这对受制于固定 Arrow 二进制兼容版本的项目具有评估价值,但实际依赖树、安装方式和其他扩展包的兼容性仍需在目标环境验证。

显存受限场景的 UMAP 选择

cuML 的 UMAP 在 24.10 中支持通过分批式近似近邻算法处理大于 GPU 显存的数据集。用户可将 nnd_n_clusters 设为大于 1,并在需要时通过 data_on_host=True 将完整数据集保留在 CPU 内存,仅让 GPU 在任一时刻处理数据子集。该机制旨在缓解早期版本可能出现的显存不足问题。

这不是无成本扩容:提高聚类数会带来图构建的多次迭代,从而增加性能开销。项目应从较小的聚类数起步,记录显存峰值、主机内存占用、总运行时间和嵌入结果质量,再依据数据集规模与 GPU 显存寻找平衡。对于对结果稳定性敏感的分析,还应与原有流程在相同数据切分和参数下进行对照。

对工程与采购决策的影响

24.10 支持 Python 3.10 至 3.12、NumPy 1.x 与 2.x,并停止支持 Python 3.9 及低于 2.19 的 NCCL。升级前应盘点 Python、NumPy、NCCL、PyArrow、CUDA 相关组件及上层库的完整版本组合,不能仅按单一 RAPIDS 版本判断可部署性。

来源还提到 GitHub Actions 可使用托管 GPU 运行器,并给出在工作流中通过 runs-on 选择 GPU 运行器的示例。GPU CI 可用于验证 RAPIDS 兼容性,但来源指出 GPU 运行器不属于 GitHub Actions 免费试用额度,且存在按分钟计费。因此,团队应将 GPU CI 用于依赖兼容性、关键算法正确性和代表性性能回归,而不是默认在每次提交中执行所有 GPU 测试;具体计费、运行器型号、区域和配额须以 GitHub 的当期官方文档与组织设置为准。

建议的验证路径

  1. 选择一个真实图分析、Polars Lazy 查询或 UMAP 数据集,保留现有 CPU 基线及输入数据版本。
  2. 依据 RAPIDS 24.10 对应的官方安装与 API 文档建立隔离环境,并核对完整依赖清单。
  3. 分别测试正确性、内存占用、端到端耗时和数据传输开销,而非只测单个算子。
  4. 对 NetworkX 检查实际启用加速的配置和支持的算法;对 Polars 确认公开测试功能在目标查询上的行为。
  5. 在合并前将少量代表性 GPU 测试接入 CI,并按项目预算和触发条件控制执行频率。

常见问题

NetworkX 工作流是否无需修改代码就一定能获得 GPU 加速?

不一定。来源说明可通过相关自动配置启用端到端体验,但实际效果取决于所用 NetworkX 版本、图构建方式、算法支持范围、数据规模及 CPU/GPU 数据转换。环境变量名称、可支持算法和配置步骤应以与 RAPIDS 24.10 对应的官方文档为准,并在项目数据上测试。

UMAP 支持大于显存的数据后,是否可以忽略 GPU 显存容量?

不能。分批近似近邻路径可通过主机内存和分批处理缓解显存压力,但会引入性能权衡,并仍要求评估 CPU 内存、数据传输与图构建迭代成本。显存容量仍会影响可选参数与完成时间。

结论

RAPIDS 24.10 为既有 Python 数据工作流提供了更多接入 GPU 的选择,尤其覆盖图分析、Lazy 查询、降维和兼容性维护。其价值应通过目标代码、目标数据和目标基础设施中的端到端验证来判断;发布材料中的基准结果可用于识别评估方向,不应替代项目测试或完整 SKU/BOM 与官方版本文档核对。

围绕“NVIDIA RAPIDS 24.10:Python 数据科学工作流的 GPU 加速边界与评估重点”继续了解 NVIDIA 产品与网络方案