PCon全球产品创新大会9折购票中,立减¥480!查看上线日程 了解详情
写点什么

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

发布了 691 篇内容, 共 221.6 次阅读, 收获喜欢 1329 次。

关注

评论

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

程序员成长第八篇:做好测试工作

石云升

程序员 测试 2月春节不断更

分布式任务框架:xxl-job使用问题整理

程序员架构进阶

开源 分布式任务调度 七日更 2月春节不断更 XXL-JOB

LeetCode题解:62. 不同路径,动态规划,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

1480. 一维数组的动态和

小马哥

算法 七日更

ARTS打卡 第31周

引花眠

微服务 ARTS 打卡计划

CI-基于JMeter的性能测试

夏兮。

Jacoco统计web接口/功能测试的代码覆盖率

夏兮。

tomcat WebService JACOCO

日记 2021年2月16日(周二)

Changing Lin

2月春节不断更

DO、DTO、BO、VO、POJO区别

安琪拉的博客

系统设计

【STM32】TIM---基本定时器

AXYZdong

硬件 stm32 2月春节不断更

诊所数字化:诊所老板为什么拒绝预约制?

boshi

数字化转型 医院 七日更

面向对象设计原则

引花眠

面向对象设计原则

数据量大读写缓慢如何优化(5)【读缓存】

我爱娃哈哈😍

redis 缓存 架构设计实战 缓存设计

开箱即用cypress

夏兮。

PO Cypress

web自动化测试-puppeteer入门与实践

夏兮。

puppeteer

【活动回顾】4步2小时,搭建爆火的语音聊天室

ZEGO即构

今日笔记

Nydia

SonarQube&Gitlab-CI 实现静态代码分析

夏兮。

ci gitlab SonarQube

sonarLint与IntelliJ IDEA 集成

夏兮。

第十二周命题作业

cc

自动化测试中的Page Object

夏兮。

Python PO selenium

翻译:《实用的Python编程》01_04_Strings

codists

人工智能 爬虫 后端 数据结构与算法 Python Monad

消息队列Kafka:入门基础

正向成长

kafka

【LeetCode】数组拆分Java题解

HQ数字卡

算法 LeetCode 2月春节不断更

Flink集群部署:Standalone部署

正向成长

11. 用别人写好的代码,完成我的工作,剩下的时间去摸鱼

梦想橡皮擦

Python 2月春节不断更 python入门

第四章作业

Deborah

如何搭建自动化测试框架

夏兮。

js puppeteer automation

第十二周学习心得

cc

week12-conclusion

J

深度讲解背包问题:面试中每五道动态规划就有一道是背包模型 ...

宫水三叶的刷题日记

深度思考 面试 LeetCode 动态规划 数据结构与算法

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