先说我的观点,我觉得可以,但是应该不是现在。
然后得补个概念,啥是Triton
OpenAI的Triton 是一种专为高效编写深度学习运算而设计的编程语言和编译器。它旨在简化用户编写针对现代GPU(尤其是NVIDIA GPU)的自定义运算代码的过程,从而提升性能和效率。CUDA Toolkit 则是NVIDIA提供的一个全面的GPU计算平台和编程模型,包含了编译器、库、工具和文档,支持开发高性能的GPU应用程序。
Triton与CUDA Toolkit的关系
-
依赖关系:
-
CUDA Toolkit 是Triton运行的基础。Triton依赖于CUDA Toolkit中的编译器(如nvcc)、库(如cuBLAS、cuDNN)以及其他开发工具来生成和执行高效的GPU代码。(需要强调现阶段,其实cuBLAS就可以不太用了,比如我自己写矩阵乘,一会的demo就是)
-
Triton 使用CUDA编译器将其代码转换为高效的GPU内核,因此需要CUDA Toolkit的支持才能正常工作。(需要强调现阶段)
-
-
功能定位:
-
CUDA Toolkit 提供了底层的GPU编程接口和优化工具,适用于各种GPU计算任务。
-
Triton 则专注于简化和优化深度学习相关的GPU运算,提供更高层次的抽象,使得编写高性能GPU代码更为便捷。
-
那我都有CUDA了,这不又造轮子吗?
不是的。
第一:虽然说现阶段的Triton比较高维,脱胎在CUDA之上(其实现在已经很少设计cuda toolkit了,主要是driver和一些特定函数,以后就只会是driver),最终是要跨平台的。
第二:我好多算子可以在triton上写,高维,编辑便捷,同时对下的调用要远好于cuda,好多都可以全自动,比如显存和读取矩阵的方式等等
9月17号Triton大会上,那可是能来站台都来站台了,就不说什么各种chip公司,高通,intel,AMD,连NV自己都来了


这人就是OpenAI 的 Philippe Tillet,Triton 的最hardcore 的contributor

PT也直接拿出大家对Triton的吐槽来说事,其实这也是现在着急要做的,因为现在还没那么通用,离它最重要的工作还差得远。
稍微解释一下主要分支和不同后端的编译流程:
AST:
抽象语法树(Abstract Syntax Tree)。
这是编译器将源代码解析成的树状结构,表示语法结构。
Triton-IR:
Triton 中间表示(Intermediate Representation)。
这是Triton编译器内部使用的一种中间表示,用于将代码转换为 GPU 代码之前的步骤。
TritonGPU-IR:
Triton GPU 中间表示。
专门针对 GPU 的中间表示,用于进一步优化和转换为具体的 GPU 指令。
LLVM-IR:
LLVM 中间表示。
底层系统中间表示,能够被转换为具体目标机器代码。LLVM

最低0.47元/天 解锁文章
927

被折叠的 条评论
为什么被折叠?



