General Purpose GPU
[General Purpose GPU] ch3.4 Research directions on branch divergence(1)
seondeok
2024. 1. 15. 23:38
*General - Purpose Graphics Processor Architecture의 chapter 3.4 RESEARCH DIRECTIONS ON BRANCH DIVERGENCE 를 읽고 정리한 내용입니다.
동일한 warp에 있는 thread들은 같은 control flow path를 따라 실행된다. 따라서 GPU는 thread를 SIMD 하드웨어에서 lockstep 방식으로 실행할 수 있다.
하지만 thread는 data dependent branch를 만났을 때 다른 target으로 diverge되는데, 이 때 이런 현상을 branch divergence라 한다.
moder GPU는 이 branch divergence를 하나의 warp 안에서 handle할 수 있도록 하는 특별한 하드웨어인 SIMT stack을 갖고 있다.
SIMT stack은 다른 target을 실행을 serialize함으로써 warp 내의 branch divergence를 핸들링한다.
하지만 이러한 방식의 SIMT stack에도 결함이 있다.
- Lower SIMD Efficiency
- Needless Serialization
- Inadequate MIMD Abstraction
- Area Cost