An overview of data layout strategies employed by the Triton compiler for efficient GPU computation.
GPU 编程里的数据布局 (Data Layout) 指的数据在显存中的组织方式, 以及张量块 (Tensor Block) 中的元素和 GPU 资源 (线程, 寄存器, 共享内存) 之间的映射关系. 简单说它就是回答 "张量中的第 (i,j) 个元素储存在哪个线程的哪个寄存器里, 或者在共享内存的哪个位置" 这个问题.
Triton 中几种常见的数据布局类型是:
Triton 中有一个专门的 Pass 用来消除多余的布局转换操作. Pass 的工作流程是: