执行模型
MT GPU 采用单指令多线程 SIMT(Single Instruction, Multiple Threads)执行模型:
SIMT 核心特征:
├── 一组线程(线程束)同时执行同一条指令
├── 每个线程具有独立的寄存器状态
└── 当线 程执行路径出现分支时,线程束序列化执行各分支
与 SIMD 的区别
| 特性 | SIMD | SIMT |
|---|---|---|
| 控制流 | 所有数据执行相同路径 | 每个线程可独立分支 |
| 编程模型 | 需显式使用向量指令 | 可编写直观标量代码 |
| 分支处理 | 必须执行所有分支 | 硬件自动处理分歧 |
| 灵活性 | 低,适合规则数据 | 高,适合不规则任务 |
线程束基础
线程束是 GPU 硬件的基本执行单元,包含固定数量的线程:
| GPU 架构 | 线程束大小 |
|---|---|
| MP31 | 32 线程 |
| MP21/MP22 | 128 线程 |