Title
Paragon: collaborative speculative loop execution on GPU and CPU
Abstract
The rise of graphics engines as one of the main parallel platforms for general purpose computing has ignited a wide search for better programming support for GPUs. Due to their non-traditional execution model, developing applications for GPUs is usually very challenging, and as a result, these devices are left under-utilized in many commodity systems. Several languages, such as CUDA, have emerged to solve this challenge, but past research has shown that developing applications in these languages is a daunting task because of the tedious performance optimization cycle or inherent algorithmic characteristics of an application, which could make it unsuitable for GPUs. Also, previous approaches of automatically generating optimized parallel code in CUDA for GPUs using complex compilation techniques have failed to utilize GPUs that are present in everyday computing devices such as laptops and mobile systems. In this work, we take a different approach. Although it is hard to generate optimized code for GPU, it is beneficial to utilize them speculatively rather than leaving them running idle due to their high raw performance capabilities compared to CPUs. To achieve this goal, we propose Paragon: a collaborative static/dynamic compiler platform to speculatively run possibly-data-parallel pieces of sequential applications on GPUs. Paragon utilizes the GPU in an opportunistic way for loops that are categorized as possibly-data-parallel by its loop classification phase. While running the loop speculatively, Paragon monitors the dependencies using a light-weight kernel management unit, and transfers the execution to the CPU in case a conflict is detected. Paragon resumes the execution on the GPU after the dependency is executed sequentially on the CPU. Our experiments show that Paragon achieves up to 12x speedup compared to unsafe CPU execution with 4 threads.
Year
DOI
Venue
2012
10.1145/2159430.2159438
GPGPU@ASPLOS
Keywords
Field
DocType
loop speculatively,optimized code,general purpose computing,high raw performance capability,non-traditional execution model,loop classification phase,paragon utilizes,main parallel platform,unsafe cpu execution,everyday computing device,collaborative speculative loop execution,optimization,compiler optimization,speculation,compiler,dynamic compilation
Graphics,Central processing unit,Computer science,CUDA,Parallel computing,Code generation,Compiler,Thread (computing),Real-time computing,Execution model,Speedup
Conference
Citations 
PageRank 
References 
10
0.64
31
Authors
4
Name
Order
Citations
PageRank
Mehrzad Samadi142216.09
Amir Hormati241819.11
Janghaeng Lee331611.34
Scott Mahlke44811312.08