ai-infra-interview-305

第 22 题:Triton和CUDA的区别?什么时候用Triton更合适?

题目

Triton和CUDA的区别?什么时候用Triton更合适?


完整讲解

一、Triton 和 CUDA 的区别

CUDA:显式写 thread/block/grid、shared memory、同步;控制细、调优空间大,但开发成本高、要手管寄存器与 occupancy。Triton:用 块级编程(tile 为单元),写「对一块数据做什么」,由编译器生成 GPU kernel;自动管 block、shared memory、循环与向量化,代码更短、可读性好,易做 auto-tuning(如 grid 大小、tile 大小)。

二、什么时候用 Triton 更合适?

三、简要对比

维度 CUDA Triton
抽象 线程/block tile/block
开发效率 低、细节多 高、声明式
调优 手调 易 auto-tune
适用 通用、极致性能 新算子、PyTorch 栈

面试要点


记忆要点

  1. Triton = 块级编程,编译器生成 kernel;CUDA = 线程级,手写 grid/block/shared。
  2. Triton 适合快速写 matmul/softmax/layernorm、与 PyTorch Inductor 集成;CUDA 适合极致手控。
  3. 抽象层级不同:Triton 管 tile,CUDA 管 thread;Triton 易 auto-tune。
返回模块 返回总览