کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
433388 1441704 2013 23 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Parallel execution of Java loops on Graphics Processing Units
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Parallel execution of Java loops on Graphics Processing Units
چکیده انگلیسی

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.


► We extend a Java JIT compiler to execute suitable loops on a GPU.
► Executing Java on a GPU requires a combination of static and dynamic analysis.
► A cost model is needed to balance the data transfer cost against the GPU speedup.
► GPUs enable very large speedups for certain kernels of code.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 78, Issue 5, 1 May 2013, Pages 458–480
نویسندگان
, , ,