Automatic parallelization for graphics processing units

Alan Leung, Ondrej Lhotak, Ghulam Lashari
University of Waterloo, Waterloo, ON, Canada
Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, PPPJ ’09


   title={Automatic parallelization for graphics processing units},

   author={Leung, A. and Lhot{‘a}k, O. and Lashari, G.},

   booktitle={Proceedings of the 7th International Conference on Principles and Practice of Programming in Java},





Download Download (PDF)   View View   Source Source   



Accelerated graphics cards, or Graphics Processing Units (GPUs), have become ubiquitous in recent years. On the right kinds of problems, GPUs greatly surpass CPUs in terms of raw performance. However, because they are difficult to program, GPUs are used only for a narrow class of special-purpose applications; the raw processing power made available by GPUs is unused most of the time. This paper presents an extension to a Java JIT compiler that executes suitable code on the GPU instead of the CPU. Both static and dynamic features are used to decide whether it is feasible and beneficial to off-load a piece of code on the GPU. The paper presents a cost model that balances the speedup available from the GPU against the cost of transferring input and output data between main memory and GPU memory. The cost model is parameterized so that it can be applied to different hardware combinations. The paper also presents ways to overcome several obstacles to parallelization inherent in the design of the Java bytecode language: unstructured control flow, the lack of multi-dimensional arrays, the precise exception semantics, and the proliferation of indirect references.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: