一、常见的 GPU 计算框架
- CUDA 系列(CUDA、cuDNN、TensorRT):仅支持 NVIDIA 显卡
- ROCm / HIP:主要支持 AMD 显卡
- Apple Metal:仅支持 MacOS 设备的 M 系列芯片
- Intel oneAPI:主要支持 Intel 硬件
- OpenCL:通用
- Vulkan Compute:通用
- ……
二、Python 调用 GPU 的常见软件包
1. 深度学习库
- PyTorch
- TensorFlow / Keras
- JAX
- ……
2. 通用 GPU 计算库
- Numba:通过 @cuda.jit 装饰器将 Python 函数编译为 GPU 核函数,适合加速数值计算。
- CuPy:模仿 NumPy 接口的 GPU 数组库,支持 CUDA 和 ROCm。
- PyCUDA:直接调用 CUDA C 代码,提供 Python 与 CUDA 的交互接口。
- PyOpenCL:直接调用 OpenCL 框架,支持 NVIDIA/AMD/Intel。
- ……
个人推荐以及软件包的硬件适配情况:
- 对于深度学习库,推荐使用 PyTorch。PyTorch 支持 CUDA、Linux 系统下的 ROCm,以及 MacOS 设备的 M 系列芯片,参考:https://pytorch.org/get-started/locally/。另外,Intel 独立显卡以及一些国产显卡也在主动适配 PyTorch,安装方法可能在各个显卡官网或论坛上,步骤会稍微麻烦些。
- 对于通用的 GPU 计算库,推荐使用 Numba 和 CuPy。Numba 支持 CUDA,参考:https://numba.readthedocs.io/en/stable/cuda/index.html;而 CuPy 支持 CUDA 和 ROCm,参考:https://docs.cupy.dev/en/stable/install.html。
总之,NVIDIA 显卡的 CUDA 软件生态比较好一些,其次是 AMD 显卡的 ROCm 以及 MacOS 设备的 M 芯片。
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】