课程笔记:SPIR-V 代码生成流程 | Taichi

本文是 Taichi 官方教学视频的笔记:

入门GPU编译,一堂课看懂SPIR-V | 快速上手Vulkan, OpenCL背后的技术

Compute Shaders

Resource Binding

对于参数和返回值,是特殊的数据结构,需要进行特殊处理。而对于其他普通的 buffer,则会先查找之前是否已经 bind 过,有的话就直接返回,否则生成一个新的 binding:

在访问完所有的 stmt 后,调用 get_buffer_binds 把上述 map 变成 一个 list:

SIMT Execution

对于 const range,total thread number 设置为 element number;对于 dynamic range,total thread number 设置为常量 65536(没有任何意义,随便设置的)。

Logical Addressing

代码结构

其他细节

课程笔记:SPIR-V 代码生成流程 | Taichi

http://www.zh0ngtian.tech/posts/b4f6b6e.html

作者

zhongtian

发布于

2022-12-11

更新于

2023-12-16

许可协议

评论