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