• DocumentCode
    2453932
  • Title

    Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow

  • Author

    Fung, Wilson W L ; Sham, Ivan ; Yuan, George ; Aamodt, Tor M.

  • Author_Institution
    Univ. of British Columbia, Vancouver
  • fYear
    2007
  • fDate
    1-5 Dec. 2007
  • Firstpage
    407
  • Lastpage
    420
  • 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
    computer graphic equipment; data flow computing; dynamic scheduling; instruction sets; parallel architectures; pipeline processing; GPU control flow instructions; GPU instruction set architecture; SIMD branch execution; SIMD pipelines; dynamic scheduling; dynamic warp formation; graphics processing units; single-instruction multiple-data pipelines; Computer graphics; Dynamic scheduling; Hardware; Microarchitecture; Parallel processing; Pipelines; Processor scheduling; Rendering (computer graphics); Software performance; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2007. MICRO 2007. 40th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Chicago, IL
  • ISSN
    1072-4451
  • Print_ISBN
    978-0-7695-3047-5
  • Electronic_ISBN
    1072-4451
  • Type

    conf

  • DOI
    10.1109/MICRO.2007.30
  • Filename
    4408272