CuPy:GPU 加速的 NumPy 和 SciPy 即插即用替代库
CuPy 是与 NumPy 和 SciPy API 兼容的 GPU 加速数组计算库,可在 NVIDIA CUDA 和 AMD ROCm 平台上即插即用。开发者只需将 import numpy as np 替换为 import cupy as cp,现有代码即可在 GPU 上运行。介绍 CuPy 的核心能力、安装方式(pip/conda/Docker)、低级别 CUDA 特性访问及生态系统集成。
作者:核流 Admin · 栏目:资源
在数据科学和机器学习领域NumPy和SciPy是Python生态中最基础的计算库,Python 生态中最基础的计算库。但当数据量增长到一定程度,CPU 上的计算就会成为瓶颈。CuPy 提供了一个几乎零成本的迁移路径:它是一个与 NumPy 和 SciPy API 高度兼容的 GPU 加速数组计算库,支持 NVIDIA CUDA 和 AMD ROCm 平台。你只需要将 import numpy as np 改为 import cupy as cp,大部分代码就能直接在 GPU 上运行 核心能力与安装方式 CuPy 提供 了 CuPy ndarray——一个与 NumPy ndarray 接口一致的 GPU 数组实现,支持绝大多数数组操作,包括切片、变形、归约、广播、线性代数运算和随机数生成。此外,CuPy 还可以访问低级别CUDA 特性:你可以通过 RawKernels ndarray 传递给现有CUDA C/C++ 程序,使用 Streams 进行性能优化,甚至直接调用 CUDA Runtime API。从 v13.0.0 开始,cuSignal 已合并入 CuPy,进一步扩展了信号处理能力 安装方式灵活多样。通过 pip 安装只需选择与平台对应的包:Linux Windows 上的 CUDA 12.x 用户执行 pip install cupy-cuda12x,CUDA 13.x 用户执行 pip install cupy-cuda13x,AMD ROCm 7.0(实验性支持)用户执行 pip install cupy-rocm-7-0。Conda 用户可通过 conda-forge 渠道安装:conda install -c conda-forge cupy。需要特定 CUDA 版本时可配合 cuda-version 元包使用。Docker 用户则可直接使用 NVIDIA Container Toolkit 运行 cupy/cupy 容器镜像 适用人群与上手指南 CuPy 特别适合以下场景:已有 NumPy/SciPy 代码但需要 GPU 加速的数据科学家;希望在 Python 中直接访问 CUDA 功能的开发者;需要在不重写大量代码的前提下将计算流水线迁移到 GPU 的团队。项目由 Preferred Networks 和社区贡献者维护,采用 MIT 许可证,GitHub 上已获得超过 11900 颗星。官方网站 cupy.dev 上可以找到完整的安装指南、教程、API 参考和示例代码。对于任何面对 NumPy 计算瓶颈的 Python 项目,CuPy 都是一个值得优先考虑的选择 参考资料 CuPy:CuPy 官方网站GitHub:CuPy: NumPy & SciPy for GPU