Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow
Top Cited Papers
- 1 January 2007
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10724451,p. 407-420
- https://doi.org/10.1109/micro.2007.30
Abstract
Recent advances in graphics processing units (GPUs) have resulted in massively parallel hardware that is easily programmable and widely available in commodity desktop computer systems. GPUs typically use single-instruction, multiple-data (SIMD) pipelines to achieve high performance with minimal overhead incurred by control hardware. Scalar threads are grouped together into SIMD batches, sometimes referred to as warps. While SIMD is ideally suited for simple programs, recent GPUs include control flow instructions in the GPU instruction set architecture and programs using these instructions may experience reduced performance due to the way branch execution is supported by hardware. One approach is to add a stack to allow different SIMD processing elements to execute distinct program paths after a branch instruction. The occurrence of diverging branch outcomes for different processing elements significantly degrades performance. In this paper, we explore mechanisms for more efficient SIMD branch execution on GPUs. We show that a realistic hardware implementation that dynamically regroups threads into new warps on the fly following the occurrence of diverging branch outcomes improves performance by an average of 20.7% for an estimated area increase of 4.7%.Keywords
This publication has 20 references indexed in Scilit:
- RPUACM Transactions on Graphics, 2005
- The GeForce 6800IEEE Micro, 2005
- Brook for GPUsPublished by Association for Computing Machinery (ACM) ,2004
- Sparse matrix solvers on the GPUACM Transactions on Graphics, 2003
- Ray tracing on programmable graphics hardwareACM Transactions on Graphics, 2002
- A user-programmable vertex enginePublished by Association for Computing Machinery (ACM) ,2001
- The SimpleScalar tool set, version 2.0ACM SIGARCH Computer Architecture News, 1997
- Chap - a SIMD graphics processorACM SIGGRAPH Computer Graphics, 1984
- Texture and reflection in computer generated imagesCommunications of the ACM, 1976
- A general method applicable to the search for similarities in the amino acid sequence of two proteinsJournal of Molecular Biology, 1970