-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
这一节好像很考察对 cuda 结构体系的理解
- 印象中,多个线程块会被分到 cuda 中执行,一个线程块内的所有线程只能分配到一个 SM,但一个 SM 可以被分配多个线程块。
- 在执行的时候,线程块会被划分为线程束,线程束有 32 个线程,由线程束调度器调度执行,这 32 个线程是并行执行的。
- 如果每个线程束占用的资源并不是很多,SM 能同时执行多个线程束。
我对这份代码的理解是:128 个线程,划分为 4 个 32x32 的区域,循环执行。那么是怎么和 readme 中的概念对应呢?
Block Tile: 不同的块可以在不同的 SM 上并行执行。
这个本来就可以?
Warp Tile: 不同的 warps 可以在不同的 warp 调度器上并行执行,并且同时在同一个 warp 调度器上执行
Thread Tile: 指令可以在同一个 CUDA 核心上并行执行(即指令级并行性,又称 ILP)
这两者如何体现在代码中呢?
Metadata
Metadata
Assignees
Labels
No labels