计算优化
计算优化核心原则
- 辩证看待占用率:高占用率不等于高性能
- 最大化指令级并行:隐藏延迟,保持计算单元忙碌
- 消除线程束分化:避免线程束内分支发散
- 利用线程束专用化(specialization):流水线并行优化
占用率优化
占用率定义
GPU 上的占用率指的是一个流多处理器(Multiprocessor)的活跃线程束数量与该流多处理器最大支持的线程束数量之比:
其中:
- 活跃线程束:流多处理器上同时被调度执行的线程束
- 流多处理器最大线程束数量:由线程束调度器决定(硬件固定)
- 活跃线程束数量:由内核硬件资源使用量限制
影响占用率的资源限制
| 资源类型 | 说明 | 影响 |
|---|---|---|
| 寄存器数量 | 每线程分配的寄存器数 | 寄存器过多 → 占用率下降 |