【GPU 算子工程】Triton:tile 级编程模型与 autotune
Triton 用 tile(block of pointers)抽象替代 CUDA 的单线程视角,把合并访问、shared 管理、bank conflict 交给编译器,配合 autotune 自动搜配置。讲清它的编程模型、与手写 CUDA 的能力边界,以及为什么它成了算子开发主力。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 6 篇文章 · 返回首页
Triton 用 tile(block of pointers)抽象替代 CUDA 的单线程视角,把合并访问、shared 管理、bank conflict 交给编译器,配合 autotune 自动搜配置。讲清它的编程模型、与手写 CUDA 的能力边界,以及为什么它成了算子开发主力。
单个 kernel 到可维护算子库的工程问题:按 shape/dtype/arch 选 kernel 的 dispatch、autotune 结果缓存、AOT 与 JIT(NVRTC 运行时编译)的取舍。以本系列实际用的 NVRTC JIT 流程为例。
拆解 PostgreSQL 的 LLVM JIT 编译机制:JIT 编译的触发决策流程(jit_above_cost 三级阈值)、LLVM 模块管理与惰性编译、表达式求值从 EEO opcode 到 LLVM IR 再到机器码的完整路径、Tuple 变形(deforming)的 JIT 加速原理,以及 JIT 在 OLAP 场景的实际加速效果、编译开销和适用边界。
手把手构建微型 Tensor DSL:ODS 定义方言、写 tiny-to-linalg 降阶 Pass,经标准管线生成 LLVM IR,走完编译链闭环(参考 MLIR Toy 教程)。
BPF 为什么能成为 Linux 的第二用户态?verifier、JIT、map 家族、BTF、CO-RE、BPF_LSM、sched_ext——本文讲 eBPF 的内核侧机制。
寄存器分配是编译器后端对程序性能影响最大的优化。