GPU|面向GPU人工智能的编程语言Triton诞生,CUDA还能好不

GPU|面向GPU人工智能的编程语言Triton诞生,CUDA还能好不

【GPU|面向GPU人工智能的编程语言Triton诞生,CUDA还能好不】我们知道 , 面对现在的AI深度学习框架 , 没个好点的GPU显卡简直都不好意思出手 。 要说有钱人瞧不上我们穷人倒也罢了 , 就连现在的人工智能程序都可能瞧不上——如果你的显卡不够档次的话 。 深度学习要用强悍的GPU , 而GPU又离不开CUDA运算平台 。 生于斯时 , 深度学习的技术高度就好比CUDA这类编程的难度 , 不是考验你的智商就是考验你的财商 。 不免会把许多爱好者学习者拒之门外 , 让人望洋兴叹 。
而现在 , 高产如那啥啥的OpenAI再次出手 , 这次他们推出一种新的语言和编译器——Triton 。 据声称 , 这种新的编程语言Triton只要25行代码 , 就能在FP16矩阵乘法shang上达到与cuBLAS相当的性能 。 正如Triton项目的负责人Philippe Tillet说的 , 我们的目标是使Triton成为深度学习CUDA的可行替代方案 。

这个起源于2019年一次学术会议上的一篇论文中 。 Tillet解决的问题是如何开发一种cuDNN更具表现力的语言 , 既能够处理神经网络中涉及的矩阵的各种操作 , 同时兼具可移植性且以及和cuDNN相媲美的性能 。
这个就不得不涉及到GPU的一点知识 。 现代的GPU大致可以分为DRAM、SRAM、ALU三个组件 , 而要想对这些资源进行调度管理则是非常复杂 , 即便是熟悉CUDA的程序员 , 也要费时费力大伤脑细胞 。 而Triton的功能特点就是将这些优化过程完全自动化 , 让开发者可以更好地专注于并行代码的高级逻辑 。
要说这个Triton能有如此良好的性能 , 还是要来自于以Triton-IR为中心的模块化系统架构 , 这是一种基于LLVM的中间表示 。 目前呢 , 它已经在github上开源了一个项目 , 有兴趣的朋友可以去看看 。 作为一款刚诞生的小家伙 , 这个新出的编程语言只支持英伟达GPU , 甚至还没有CPU版本 , 不过官方已经表态AMD的GPU以及CPU的版本正在开发中 。 拭目以待吧 。