Python如何获得制作游戏和AI运行25倍更快的超能力

科学技术

【免责声明】 本文是基于外部来源的信息重新整理的。请在参考本文内容前核实原始来源。

新闻摘要

以下内容已在网上发布。下面提供了翻译摘要。有关详细信息,请参阅原文。

NVIDIA发布了一个名为cuda.cccl的新Python库,为Python开发者带来了之前仅在C++中可用的强大GPU编程工具。该库提供了CUB和Thrust的构建块,这些构建块被PyTorch、TensorFlow和RAPIDS等主要项目所使用。其关键创新在于实现了”内核融合”——将多个操作合并为单个GPU命令,从而大幅提高速度。在基准测试中,cuda.cccl的性能比简单实现快25倍。该库由两部分组成:”parallel”用于对整个数组进行操作,”cooperative”用于编写自定义GPU内核。一个示例展示了如何使用不需要内存分配的迭代器计算交替求和(1-2+3-4+…N),以及如何通过显式内核融合将GPU调用从四次减少到一次,从而降低Python开销。这填补了Python开发者之前不得不切换到C++进行自定义高性能算法的关键缺口。该库对于从更简单的操作构建自定义算法、创建无需内存分配的序列以及使用自定义数据类型非常有用。通过pip安装非常简单,使GPU加速对Python程序员更加可及。

来源: NVIDIA开发者博客

本站解析

背景和环境

Background and Context illustration

您知道,在配备了优秀显卡的游戏PC上,游戏能够流畅运行吗?这是因为游戏使用GPU(图形处理单元)来同时进行数百万次计算。但问题在于,大多数使用Python的程序员无法轻易利用这种GPU动力——直到现在。

可以这样理解:CPU(常规处理器)就像一个超级聪明的学生一个一个地解决数学问题,而GPU就像有10,000个学生同时进行简单的问题计算。NVIDIA刚刚为Python程序员提供了指挥这支10,000人大军的工具!

专家分析

让我们使用烹饪的类比来分析一下什么使cuda.cccl如此特别:

旧方式(缓慢): 想象一下制作三明治需要四次单独的厨房之行——一次拿面包,一次拿肉,一次拿奶酪,最后一次组装。这就是Python通常与GPU对话的方式——需要大量来回切换。

新方式(快速): 内核融合就像一次性收集所有食材,然后一气呵成地制作三明治。与其发送四条GPU命令,你只需发送一条!文章中的示例展示了这样做使代码运行快25倍——这就是等待25秒和1秒的区别!

内存魔法: 该库使用”迭代器”——想象一下描述一个数字序列(1,2,3…100万)而不需要实际写下所有100万个数字。这可以节省大量内存,并使事情更快。

补充数据和事实

这项技术的实际影响:

• 在演示的示例中实现了25倍的速度提升

• 被主要的AI框架所使用:PyTorch、TensorFlow、XGBoost

• 将操作从4次GPU调用减少到仅1次

• 安装简单:只需输入”pip install cuda-cccl”

谁将从中获益?

游戏开发者: 更快的物理模拟和图形渲染

AI研究人员: 更快的模型训练

数据科学家: 更快的数据处理

Python学习者: 获得专业级GPU工具的使用权

相关新闻

这一发布是使GPU编程更加可及的更广泛趋势的一部分。以前,您需要了解C++(一种更难掌握的语言)才能编写快速的GPU代码。现在,Python(初学者和AI领域最流行的编程语言)也拥有了这些强大的功能。

这与我们所见证的AI民主化(如ChatGPT和Stable Diffusion)有着联系。就像那些工具使AI对非专家变得更加可及,cuda.cccl使GPU编程对Python程序员变得更加可及。随着GPU在AI、游戏和科学计算中变得越来越重要,这种将易学的Python与强大的GPU硬件联系起来的桥梁至关重要。

总结

Summary illustration

NVIDIA的cuda.cccl为Python程序员提供了与您最喜欢的游戏和AI应用程序所使用的相同GPU加速工具,通过智能技术如内核融合实现高达25倍的速度提升。通过消除学习C++的需求,它使GPU计算能力民主化。

对于正在学习编程的学生来说,这是令人兴奋的消息。Python已经是最容易学习的主流编程语言之一,现在它可以利用与Fortnite和ChatGPT等应用程序所使用的相同硬件加速。无论您对游戏开发、AI还是数据科学感兴趣,这些工具意味着您可以创造更快、更强大的程序,而无需多年的底层编程经验。计算的未来是并行的(同时做很多事情),现在Python使用者也受邀参加这个盛会!

公众反应

Python开发者对这一发布表示欢迎,许多人表示这消除了他们学习C++的最大理由。大学教授认为这是GPU编程概念教学的一大突破。一些C++程序员担心工作安全,但专家指出,底层优化仍将需要专家。学生对能够将自己的游戏GPU用于严肃的编程项目感到兴奋。开源社区已经开始在cuda.cccl之上构建工具。

常见问题解答

问:我需要一台昂贵的GPU才能使用这个吗?
答:过去10年内的任何NVIDIA GPU都可以使用,包括廉价的游戏显卡。RTX 3050甚至更老的GTX 1060已经足够用于学习。

问:这只适用于AI和游戏吗?
答:不!它对任何计算密集型任务都很有用:视频编辑、科学模拟、数据分析、加密货币,甚至可以加速数学作业程序。

问:如果我只知道基本的Python,学习起来有多难?
答:如果您了解Python中的循环和函数,就可以开始使用cuda.cccl。概念类似,只是应用于并行处理。

タイトルとURLをコピーしました