• DocumentCode
    2241313
  • Title

    Improving SIMT Efficiency of Global Rendering Algorithms with Architectural Support for Dynamic Micro-Kernels

  • Author

    Steffen, Michael ; Zambreno, Joseph

  • Author_Institution
    Electr. & Comput. Eng., Iowa State Univ., Ames, IA, USA
  • fYear
    2010
  • fDate
    4-8 Dec. 2010
  • Firstpage
    237
  • Lastpage
    248
  • Abstract
    Wide Single Instruction, Multiple Thread (SIMT) architectures often require a static allocation of thread groups that are executed in lockstep throughout the entire application kernel. Individual thread branching is supported by executing all control flow paths for threads in a thread group and only committing the results of threads on the current control path. While convergence algorithms are used to maximize processor efficiency during branching operations, applications requiring complex control flow often result in low processor efficiency due to the length and quantity of control paths. Global rendering algorithms are an example of a class of application that can be accelerated using a large number of independent parallel threads that each require complex control flow, resulting in comparatively low efficiency on SIMT processors. To improve processor utilization for global rendering algorithms, we introduce a SIMT architecture that allows for threads to be created dynamically at runtime. Large application kernels are broken down into smaller code blocks we call μ-kernels that dynamically created threads can execute. These runtime μkernels allow for the removal of branching statements that would cause divergence within a thread group, and result in new threads being created and grouped with threads beginning execution of the same μ-kernel. In our evaluation of SIMT processor efficiency for a global rendering algorithms, dynamic μ-kernels improved processor performance by an average of 1.4x.
  • Keywords
    convergence; multi-threading; operating system kernels; program diagnostics; rendering (computer graphics); SIMT efficiency; application kernel; architectural support; convergence algorithm; dynamic micro kernel; global rendering algorithm; individual thread branching; parallel thread; processor utilization; single instruction multiple thread; static allocation; thread group;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture (MICRO), 2010 43rd Annual IEEE/ACM International Symposium on
  • Conference_Location
    Atlanta, GA
  • ISSN
    1072-4451
  • Print_ISBN
    978-1-4244-9071-4
  • Type

    conf

  • DOI
    10.1109/MICRO.2010.45
  • Filename
    5695540