InfoQ技术大会双节活动折上折,满10000-1000>> 了解详情
写点什么

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 日 11:261804
用户头像
刘燕 InfoQ记者

发布了 682 篇内容, 共 216.6 次阅读, 收获喜欢 1306 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营—第四周作业

Geek_shu1988

第四周作业

Geek_ac4080

维基百科技术架构

张荣召

架构师训练营第四周作业

睡觉表演者

极客大学架构师训练营

第四周心得

睡觉表演者

极客大学架构师训练营

架构师训练营第四周总结

xs-geek

极客大学架构师训练营

「架构师训练营第 1 期」第四周作业

张国荣

第四周作业

Geek_ce484f

极客大学架构师训练营

架构师训练营第 1 期第 4 周作业

郑凯元

极客大学架构师训练营

作业二:第四周学习总结

静海

架构师训练营第四周总结

月殇

极客大学架构师训练营

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

A p7+

架构师训练营第 1 期第 4 周学习总结

du tiezheng

极客大学架构师训练营

第四周作业总结

Geek_ce484f

极客大学架构师训练营

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?(总结)

orchid9

如何组织一场用户故事地图工作坊

Bruce Talk

敏捷 用户故事 Product Owner 用户故事地图

架构师训练营—第四周学习总结

Geek_shu1988

spring-boot笔记

solike

架构师训练营 - 作业 - 第四周

Max2012

架构师训练营第四周作业

月殇

极客大学架构师训练营

架构师训练营第四周 -- 学习总结

张荣召

作业一:典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

静海

微服务

qh12346

Netty源码解析 -- 事件循环机制实现原理

binecy

Netty nio 源码解析

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

Jacky.Chen

第四周-系统架构-总结

刘希文

架构师训练营第四周作业

xs-geek

极客大学架构师训练营

周练习 4

何毅曦

深入理解JVM垃圾回收算法 - 复制算法

WANDEFOUR

深入理解JVM GC复制算法 Cheney

架构师训练营第4周课后练习

叶纪想

极客大学架构师训练营

架构师训练营第 1 期 -- 第四周作业

发酵的死神

极客大学架构师训练营

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