在CUDA的天下,OpenAI开源GPU

机器之心报道编辑:蛋酱、陈萍

OpenAI开源了全新的GPU编程语言Triton,它能成为CUDA的替代品吗?

过去十年中,深度神经网络(DNN)已成为最重要的机器学习模型之一,创造了从自然语言处理到计算机视觉、计算神经科学等许多领域的SOTA实现。DNN模型的优势来自于它的层次结构,这一特征导致其计算量巨大,但也会产生大量高度并行化的工作,特别适合多核和众核处理器。

深度学习领域的新研究思路往往是结合原生框架operator来实现的,这种方法虽然方便,但需要创建或移动许多临时张量,因此可能会造成神经网络的性能损失。编写专门的GPU内核或许可以解决这个问题,但GPU编程的确是一件相当复杂的事。

DNN计算潜力与GPU编程困难之间的矛盾由来已久。英伟达在年发布了CUDA的初始版本,CUDA平台是一个软件层,使用者可以直接访问GPU的虚拟指令集和并行计算单元,用于执行计算内核。近年来,主流深度学习框架几乎都是基于CUDA进行加速,英伟达也一直在完善CUDA工具包,但对于一般的开发者来说,CUDA还是「不那么容易上手」。

今天,OpenAI正式推出Triton1.0,这是一种类Python的开源编程语言。即使没有CUDA经验的研究人员,也能够高效编写GPU代码。例如,它可以用不到25行代码写出与cuBLAS性能相匹配的FP16矩阵乘法内核,后者是许多专业的GPU编程者尚且无法做到的。此外,OpenAI的研究者已经使用Triton成功生成了比PyTorch同类实现效率高2倍的内核。

代码


转载请注明:http://www.aierlanlan.com/rzfs/2590.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了