7

OpenAI发布Triton,一款用于神经网络的类Python GPU开源编程语言-InfoQ

 3 years ago
source link: https://www.infoq.cn/article/M5N8HaHlxE1PP0LeBzjy
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

OpenAI 发布 Triton,一款用于神经网络的类 Python GPU 开源编程语言

2021 年 9 月 03 日

OpenAI发布Triton,一款用于神经网络的类Python GPU开源编程语言

近期,OpenAI 发布了他们的最新语言 Triton。这种开源编程语言让研究人员能够为 AI 负载编写高效的 GPU 代码。

它与 Python 兼容,并且用户只需编写最少 25 行代码,就能实现专家级的效果。OpenAI 声称这款语言让开发人员无需太多努力即可挖掘硬件的最大潜能,从而比以往更轻松地创建更复杂的工作流程。

http://www.eecs.harvard.edu/~htk/publication/2019-mapl-tillet-kung-cox.pdf

深度学习领域的研究人员通常依赖于原生框架操作符。然而这可能会带来一些问题,因为它需要许多临时张量才能工作,这可能会影响大规模神经网络的性能发挥。

编写专门的 GPU 内核是一种更便利的解决方案,但由于对 GPU 编程的复杂性,这种方案实践起来会有意想不到的困难。找到一种既能提供所需的灵活性和速度,又能让开发人员轻松理解的系统是一项挑战。这促使 OpenAI 的研究人员改进了 Triton,Triton 最初是由他们的一位队友创建的。

现代 GPU 的架构可以分解为三大组件——DRAM、SRAM 和 ALU。在优化 CUDA 代码时必须考虑每一个组件;开发人员不能忽视 GPU 编程带来的诸多挑战,包括:来自 DRAM 的内存传输应该充分合并,以利用当今内存接口上更大的总线宽度。数据在再次使用之前需要手动存储在 SRAM 中,以免在检索时与其他共享内存块发生冲突。

https://openai.com/blog/triton/

Triton 简化了专用内核的开发过程,这些内核比通用库中的内核要快得多。编译器会自动对其进行优化和并行化,将其转换为在最新的 Nvidia GPU 上执行的代码。Triton 起源于 2019 年提交给机器学习和编程语言国际研讨会的一篇论文,其创建者现在是 OpenAI 团队的一员。

论文:http://www.eecs.harvard.edu/~htk/publication/2019-mapl-tillet-kung-cox.pdf

Github:https://github.com/openai/triton

来源:https://openai.com/blog/triton/

原文链接:

https://www.marktechpost.com/2021/07/28/openai-releases-triton-an-open-source-python-like-gpu-programming-language-for-neural-networks

划线
评论
复制
2021 年 9 月 03 日 03:261294
文章版权归极客邦科技InfoQ所有,未经许可不得转载。
用户头像
刘燕 InfoQ记者

发布了 673 篇内容, 共 213.3 次阅读, 收获喜欢 1292 次。

关注
轻点一下,留下你的鼓励

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK