NVIDIA cuPyNumeric
将零代码更改扩展引入多 GPU 和多节点 (MGMN) 加速计算
Python 是一种功能强大且用户友好的编程语言,被研究人员和科学家广泛用于数据科学、机器学习 (ML) 和高效数值计算。NumPy 是事实上的标准数学和矩阵库,提供简单易用的编程模型,其接口与科学应用的数学需求密切相关。
随着数据规模和计算复杂性的增长,基于 CPU 的 Python 和 NumPy 程序需要帮助来满足尖端研究对速度和规模的要求。
分布式加速计算为高效解决和测试数据驱动问题的假设提供了基础设施。无论是分析通过记录高能电子束散射生成的数据、构建解决复杂计算流体动力学问题的新方法,还是构建 ML 模型,研究人员都在越来越多地寻求轻松扩展程序的方法。
NVIDIA cuPyNumeric 旨在成为 NumPy 的直接替代库,为 Python 社区带来 NVIDIA 平台上的分布式加速计算。它允许研究人员和科学家使用本地 Python 语言和熟悉的工具高效编写研究计划,而无需担心并行计算或分布式计算。然后,cuPyNumeric 和 Legate 可以轻松地将其程序从单 CPU 计算机扩展到 MGMN 超级计算机,而无需更改代码。
Legate
Legate 是一个抽象层,在 CUDA® 运行时系统上运行,共同提供热门领域特定 API 的可扩展实现。与许多其他库一样,NVIDIA cuPyNumeric 基于 Legate 构建。
Legate 使计算得以普及,使所有程序员都可以通过运行在台式电脑或笔记本电脑上大规模运行的相同代码来利用大型 CPU 和 GPU 集群的强大功能。借助这项技术,科学家和研究人员可以在本地机器上基于中等规模的数据集开发和测试程序,然后立即扩展到部署在云端多个节点或超级计算机上的更大数据集,而无需修改任何代码。
主要优势
Legate 上的 NVIDIA cuPyNumeric 库:
- 支持原生 Python 语言和 NumPy 接口,不受任何限制
- 无缝加速和扩展现有的 NumPy 工作流程
- 为 NumPy 提供无缝的插入式替换
- 为跨 CPU 和 GPU 的多个节点提供自动并行和加速
- 以最佳方式从一个 CPU 扩展至多达数千个 GPU
- 几乎无需更改代码,从而更快地完成科学任务
cuPyNumeric 性能
将 10TB 显微镜图像数据作为单个 NumPy 数组处理
此多视角晶格光片显微镜示例每天可生成数十 TB 的原始图像数据。到目前为止,在收集所有数据后,所有处理都是离线进行的。通过将所有预处理和重建操作转移到 GPU 并在 Legate 上使用 cuPyNumeric,数据可以在处理时实时可视化。
立即开始使用 cuPyNumeric。