NVIDIA cuPyNumeric 是 NVIDIA 开发的一款开源 Python 库,旨在提供 NumPy 的分布式和 GPU 加速的 drop-in 替换。它基于 Legate 框架(NVIDIA 的分布式计算抽象层),允许开发者使用零代码更改的方式,将 NumPy 程序从单机笔记本扩展到多 GPU、多节点超级计算机,实现高性能计算(HPC)和大规模数据处理。

一句话总结“分布式 NumPy”——用熟悉的 NumPy API,轻松扩展到 GPU 集群,加速科学计算和 ML 工作负载。


核心功能一览

功能 说明
Drop-in 替换 直接替换 import numpy as np 为 import cupynumeric as np,API 兼容 NumPy 核心(如 array、ufunc、线性代数)
分布式执行 自动处理多 GPU/节点数据分区、同步和内存管理,支持弱扩展(weak scaling)
GPU 加速 利用 NVIDIA GPU(如 H100、GH200 Grace Hopper),集成 CUDA 运行时,加速矩阵运算和科学模拟
资源管理 运行时自动配置 CPU/GPU 资源,支持多节点 InfiniBand 互联(如 NVIDIA Eos 超级计算机)
扩展支持 HDF5 I/O、多视图数据处理,适用于 TB 级数据集

为什么重要?(2025 现状)

挑战 cuPyNumeric 解决
扩展瓶颈 传统 NumPy 限于单机;cuPyNumeric 零改动扩展到 1000+ GPU,弱扩展效率 >95%
生产力损失 手动并行化复杂;自动处理 Legion 编程模型,焦点在算法而非分布式细节
计算规模 大型模拟(如流体力学、ML 训练)耗时长;GPU 加速 50x+,如矩阵乘法从小时降至分钟
开源协作 2025.03 版完全开源(Apache 2.0),Legate 框架开源,推动社区贡献

cuPyNumeric 是“科学 Python 的 HPC 桥接器”:适用于数据科学、计算流体力学、ML 和高能物理,帮助研究者从原型到超级计算机无缝迁移。


性能对比(官方基准,2025)

任务 传统 NumPy (CPU) cuPyNumeric (GPU) 加速比
矩阵乘法 (TB 级) 小时级 分钟级 50x
Jacobi 模板模拟 (1024 GPU) 不可扩展 弱扩展 >95% 效率 线性扩展
纳米求和 (nansum, 大数组) 慢速循环 并行 ufunc 10–100x
实时图像重建 (TB 数据) 离线处理 实时可视化 实时 vs. 离线

硬件:NVIDIA Eos (4608 H100 GPU) 或 GH200 Superchip。


应用案例(2025)

合作伙伴 用途
Los Alamos 国家实验室 加速数据科学和 ML 算法,在 Venado 超级计算机上处理高能电子散射数据
NPCI (印度支付系统) 实时反洗钱检测,处理更大交易窗口,提速 50x
晶格光片显微镜 实时处理 TB 级图像数据,支持在线可视化
NVIDIA Eos 超级计算机 弱扩展科学模拟,验证 1024 GPU 效率

快速上手示例

只需替换导入语句,即可运行:

# 安装后直接替换 NumPy
import cupynumeric as np  # 而非 import numpy as np

x = np.array([1.0, 2.0, 3.0, 4.0])
y = np.array([4.0, 3.0, 2.0, 1.0])
z = x + y  # 自动 GPU 加速
print(z)   # [5. 5. 5. 5.]

# 运行:legate --with-cupy-numeric your_script.py  # 默认使用所有资源

这在单 GPU 上加速;在多节点,使用 mpirun 或 Legate 命令扩展。


安装与要求(25.03 版)

# 通过 pip(推荐,Apache 2.0 开源)
pip install nvidia-cupynumeric  # 自动安装 Legate

# 或 Conda
conda install -c nvidia nvidia-cupynumeric  # 检测 GPU 自动选择变体
  • Python: 3.10–3.12
  • OS: Linux (x86_64 / aarch64)
  • GPU: NVIDIA Volta+(推荐 H100/GH200),支持 CPU 回退
  • 运行:legate --with-cupy-numeric script.py(多节点见 Legate 文档)

官方资源

资源 链接
官网 developer.nvidia.com/cupynumeric
文档 docs.nvidia.com/cupynumeric
GitHub github.com/nv-legate/legate-core(Legate 基础)
博客 developer.nvidia.com/blog/effortlessly-scale-numpy
示例 docs.nvidia.com/cupynumeric/examples

未来展望(2026+)

  • 更广 API 覆盖:完整 NumPy/SciPy 兼容,集成更多科学库。
  • AI 增强:与 RAPIDS/cuML 深度融合,推动分布式 ML。
  • 边缘支持:扩展到 Jetson 系列,实现便携 HPC。

结论cuPyNumeric 不是简单加速库,而是“NumPy 的分布式未来”,让 Python 科学家轻松征服超级计算规模,推动 HPC 和 AI 创新。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐