Automatic Parallelization for Graphic Processing Units
Accelerated graphics cards (GPUs) have became a commodity in recent
years. On the right kinds of problems, GPUs greatly surpass CPUs in
terms of raw performance. The first goal of this presentation is to
provide a brief overview of programming GPUs and to indicate problematic
areas in using GPUs to perform general purpose (i.e. non-graphics)
computing. The second goal of this presentation is to describe a
prototype implementation of an auto-parallelizating Just-In-Time
compiler implemented in JikesRVM and how the complications have been
addressed in the implementation. The optimizing compiler must properly
identify code segments that are suitable for GPU execution while
taking account of the overhead introduced in transferring data between
memory and GPU. Other Issues such as aliasing and exceptions can also
prevent GPU execution as well.
Greg Steffan
Last modified: Fri Aug 31 10:25:05 EDT 2007