• DocumentCode
    3306842
  • Title

    Preemption of a CUDA Kernel Function

  • Author

    Calhoun, Jon ; Jiang, Hai

  • Author_Institution
    Dept. of Comput. Sci., Arkansas State Univ., Jonesboro, AR, USA
  • fYear
    2012
  • fDate
    8-10 Aug. 2012
  • Firstpage
    247
  • Lastpage
    252
  • Abstract
    As graphics processing units (GPUs) gain adoption as general purpose parallel compute devices, several key problems need to be addressed in order for their use to become more practical and more user friendly. One such problem is special functions designed to execute on GPUs called kernel functions are non-preempt able. Once the kernel is issued to the GPU it will remain there till either execution finishes or it is killed. If the kernel uses all the execution units of the GPU, then no other kernels are able to be executed. This paper proposes a way to apply preemption to the executing kernel function. The kernel at some point in its execution will be able to save its state, halt execution, and free up the GPU´s execution units for other kernels to run. After a given amount of time the halted kernel will be able to regain control of the GPU and complete its execution as if it never was halted in the first place. Experimental results have demonstrated the effectiveness of the proposed scheme.
  • Keywords
    graphics processing units; parallel architectures; CUDA kernel function; GPU; general purpose parallel compute device; graphics processing unit; Arrays; Checkpointing; Graphics processing unit; Instruction sets; Kernel; Resource management; Vectors; CUDA; Checkpointing; GPU; Kernel Function; Preemption;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, Artificial Intelligence, Networking and Parallel & Distributed Computing (SNPD), 2012 13th ACIS International Conference on
  • Conference_Location
    Kyoto
  • Print_ISBN
    978-1-4673-2120-4
  • Type

    conf

  • DOI
    10.1109/SNPD.2012.53
  • Filename
    6299288