在CUDA的天下,OpenAI开源GPU编程语言Triton,同时支持N卡和A卡( 三 )

文章图片
高级系统架构
Triton的良好性能得益于以Triton-IR为中心的模块化系统架构 。 Triton-IR是一种基于LLVM的中间表示 , 多维值块(blocksofvalues)是其中最重要的东西 。 
文章图片
Triton的高级架构 。
@triton.jit装饰器的工作原理是遍历由Python函数提供的抽象语法树(AST) , 这样一来就能使用通用的SSA构造算法实时生成Triton-IR 。 生成的IR代码随后由编译器后端进行简化、优化和自动并行化 , 然后转换为高质量的LLVM-IR , 最终转换为PTX , 以便在最新的NVIDIAGPU上执行 。 目前Triton还不支持CPU和AMDGPU , 但团队表示对二者的支持正在开发中 。
编译器后端
研究人员发现通过Triton-IR来使用块状程序表示 , 这种方法允许编译器自动执行各种重要的程序优化 。 例如 , 通过查看计算密集型块级操作(例如tl.dot)的操作数 , 数据可以自动存储到共享内存中 , 并使用标准的活跃性分析技术进行数据的分配与同步 。 
文章图片
【在CUDA的天下,OpenAI开源GPU编程语言Triton,同时支持N卡和A卡】Triton编译器通过分析计算密集型操作中使用的块变量的活动范围来分配共享内存 。
此外 , Triton还可以在SM之间以及SM之内高效、自动地并行化 , 前者通过并发执行不同的内核实例来实现 , 后者通过分析每个块级操作的迭代空间 , 并将其充分划分到不同的SIMD单元来实现 。 如下所示:
文章图片
Triton自动并行化 。 每个块级操作都定义了一个块级迭代空间 , 该空间可以自动并行化以利用SM(StreamingMultiprocessor)上的可用资源 。
参考链接:https://www.openai.com/blog/triton/
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- meta|促进更逼真AR/VR体验,Meta正在开发全新空间音频工具
- iPhone14|准大学生的数码装备推荐
- 有人觉得中暑就是热出来的,吃一些退烧药就好了,这种做法 蚂蚁庄园今日答案6月28日
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 个头大的车厘子比小樱桃营养价值更高,对吗 蚂蚁新村6月28日答案最新
- 位于广东省阳江市的海陵岛自然资源丰富,景色优美,该岛没有 神奇海洋6月28日答案
- 哪种水果横着切开像星星的形状 蚂蚁庄园今日答案6月29日
- 在昨日推文中,王者荣耀将以“____文化”为主题推出限定皮肤,为乡村振兴加油? 王者荣耀6月28日每日一题答案
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
