CUDA Python

CUDA® Python 为 CUDA 驱动和运行时 API 提供了基于 Cython/Python 的封装,并且现在可以通过 PIP 和 Conda 进行安装。Python 开发者将能够利用大规模并行的 GPU 计算来获得更快速且更精确的结果。

Python 是一门重要的编程语言,在科学、工程、数据分析和深度学习应用生态系统中发挥着关键作用。然而,这些应用将能从 NVIDIA CUDA Python 软件计划中获益匪浅。

hpc-cuda-python-public-preview-2c50-d.png

特性

访问适用于 CUDA 驱动程序和运行时 API 的 Python Wrapper

将 Python CUDA 生态系统与一组接口统一起来,从而全面覆盖和访问 Python 中的 CUDA 主机 API。可在 GitHub 上获取。

阅读博客

借助 NVIDIA GPU 加速 Python 性能

了解 Python 编译器 Numba 如何借助 GPU 加速帮助开发者提高 Python 代码的性能。

阅读博客

提高 Python 代码的可移植性和兼容性

通过减少代码变体和分叉,帮助开发者实现代码的可移植性和兼容性。

设置 CUDA Python

CUDA Python 有何优势?

CUDA Python 提供统一的 API 和绑定接口,便于集成到现有工具包和库中,从而简化面向高性能计算 (HPC)、数据科学和人工智能的 GPU 并行处理。

cupy.png

CuPy 是由 Preferred Networks 开发的、兼容 NumPy/SciPy 的数组库,用于在 Python 中进行 GPU 加速计算。CUDA Python 简化了 CuPy 的构建流程,并在导入 CuPy Python 模块时实现了更快的速度和更小的内存占用。未来,随着更多 CUDA Toolkit 库的支持,CuPy 的维护负担将更轻,需要发布的轮子(wheels)也会更少,用户将因此受益于更快的 CUDA 运行时。

Numba 是来自 Anaconda 的一个 Python 编译器,可以将 Python 代码编译后在支持 CUDA 的 GPU 上执行,为 Python 开发者提供了一个轻松进入 GPU 加速计算的途径,并以尽可能少的新语法和术语,逐步使用更复杂的 CUDA 代码。借助 CUDA Python 和 Numba,你可以同时兼得:既保留 Python 的快速迭代开发体验,又拥有面向 CPU 和 NVIDIA GPU 的编译型语言的高运行速度。

生态系统

我们的目标是通过一组标准接口来帮助统一 Python CUDA 生态系统,从而全面覆盖和访问 Python 中的 CUDA 主机 API。我们希望为生态系统提供一个统一构建的基础,以便共同组成不同的加速库,从而解决手头的问题。我们还希望降低 Python 开发者使用 NVIDIA GPU 的门槛。

访问 https://www.anaconda.com/https://www.quansight.com/

“Anaconda 非常支持 NVIDIA 通过 Python 为 CUDA 主机 API 提供一套统一、全面的接口。我们期待在 Numba 的 CUDA Python 编译器中采用此软件包,以减轻我们的维护负担并提高 CUDA Python 生态系统中的互操作性。”

– Peter Wang,Anaconda 首席执行官

“Quansight 是连接公司和社区以促进开源数据科学的领导者。Python 数据技术领域不断变化,NVIDIA 致力于为 Python 提供易于使用的 CUDA API 绑定,而 Quansight 对此表示支持。我们计划使用此软件包构建自己的 NVIDIA 加速解决方案,并将这些解决方案带给我们的客户。”

— Travis Oliphant,Quansight 首席执行官

即将登陆 GitHub。