PTX ISA

294 words

Reference: PTX ISA 8.3 (nvidia.com)

编程模型

线程层次结构

执行一个内核的一批线程被组织成一个 Grid 执行,CUDA 线程块由 CTA 实现,CUDA cluster 块由 cluster 实现。

CTA

Cooperative Thread Arrays (CTA) 是一系列并行的线程,他们可以相互通信。线程在 CTA 中的位置可以通过 ntid.{x|y|z} 向量来描述。

Parallel Thread Execution (PTX) 编程模型是显式地并行的:PTX 程序指定 CTA 中的一个线程的执行逻辑。

一个 warp 是某一个 CTA 的一个子集:这种子集包含最多个能并行执行相同指令的线程。 warp 的大小由硬件决定,PTX 提供立即数 WARP_SZ 作为 warp 大小。

Cluster of CTA

Cluster 是一组并行运行的CTA,它们可以通过共享内存进行同步和通信,不显示设置 cluster 时,视为使用以 1x1x1 的 cluster。cluster 仅在 sm_90 下支持。

Grid of Cluster/CTA

Grid 可以包含任意多个 Cluster/CTA。Grid 彼此之间可以有依赖关系:一个网格可以是另一个网格的依赖/前置。

内存层次结构

Memory Hierarchy

PTX 机器模型

SIMT 多处理器