打胎智能实验室OpenAI正式发布GPU法式语言Triton,这个语言是专门用来开发呆板学习算法,让开发人员以类似Python法式代码撰写方式,在即便没有CUDA法式开发配景下,也可以撰写高性能GPU法式代码,并且大部门法式代码都能与专家撰写的法式代码性能相当。
官方提到,深度学习领域的研究方向,平日必要使用原生框架运算符来实现,但这种方法必要建立许多临时张量,而这会损害神经收集的性能。固然能够通过编写专门的GPU焦点来解决这个问题,然则因为GPU法式代码开发很复杂,因此增加了开发门槛。
固然如今有许多体系来简化这个过程,但OpenAI认为,这些体系平日过于冗长,或是缺乏机动性,甚至发生的法式代码性能,明显低于手动调整的基准。因此他们为认识决这个GPU法式开发痛点,因而扩展而且改进了Triton,如今发布最新版本Triton 1.0。
Triton原本的缔造者Philippe Tillet,在2年前发布论文,初次公开了Triton初始版本,而如今Philippe Tillet在OpenAI工作,与其他研究人员一起改进Triton,使其成为适用于企业的呆板学习项目。
当前大部门企业打胎智能模型,都在Nvidia的GPU上执行,开发人员使用Nvidia供应的软件构建这些模型,而Nvidia紧张的框架CUDA,供应打胎智能法式使用GPU进行运算的根蒂模块。而如今OpenAI所推出的Triton,拥有编写简洁且执行高性能的长处,比起CUDA框架普遍被认为撰写具有挑衅性的问题,Triton对开发人员来说更加友善。
OpenAI研究人员注释,如今GPU架构大致能够分成3个紧张组件,DRAM、SRAM和ALU(算术逻辑单元),而优化CUDA法式代码必需同时思量这三者。来自DRAM的内存传输,必须要整合成为大型生意,以妥帖行使内存接口的最大带宽,而这些资料在重新使用之前,必需手动存储到SRAM中,而且管理最大容量,来削减检索时共享内存库的冲突,并且运算必须要在流媒体复合处理器(Streaming Multiprocessors)间,细致分区和调度,来善用指令和线程平行运算,或是增加专用ALU的使用率。
撰写法式代码时,思量这些要素必要许多经验,即便对拥有多年开发经验的CUDA开发者来说,也并非一件简洁的事,而Triton的目的是要能自动进行优化,让开发人员能够专注在开发高级逻辑上,不外,Triton也保有了一些机动度,为了使Triton广泛适用,因此不会跨流媒体复合处理器自动调度任务,Triton把这些紧张的算法考量留给开发人员决意。
本文地址:http://www.wbwb.net/bianchengyuyan/226870.html 转载请注明出处!