
warp 是 SIMT(单指令多线程)执行模型的基本调度单位,其核心作用是实现线程级并行。
一个 warp 由32 个线程组成,这些线程共享同一指令流,即同一时刻执行相同的指令(SIMT 模式),但可以操作不同的数据(单指令多数据)。warp 内所有线程同步执行同一指令,但每个线程可根据谓词寄存器(Predicate Registers)决定是否实际执行该指令(如分支条件不同时,未满足条件的线程被屏蔽)。
warp 是 NVIDIA GPU 中实现 SIMT 并行的核心调度单位,由 32 个线程组成,通过共享资源、编译器辅助调度和硬件协同,最大化计算资源利用率和指令级并行度。
Issue 指令发射 负责从就绪的线程组(Warp)中选择指令并发送到执行单元。其核心功能是动态调度指令,确保硬件资源高效利用,同时处理数据依赖以保证程序正确性。
Stall counter(停顿计数器)主要用于处理指令间的数据依赖,确保程序执行的正确性,同时提升硬件资源的利用效率,在 GPU 指令执行过程中发挥着关键作用。
Yield 控制同一 warp 指令发射时机,协调不同 warp 间的执行,与其他控制位协同工作
Dependence counters
每个 warp 都有六个专用寄存器来存储这些计数器,这些寄存器称为 SBx,其中 x 取 [0 −5] 范围内的值。这些计数器中的每一个都可以计数到 63。
