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
Link To Document