Abstract

Today, the use of GPUs as coprocessors to accelerate high-performance scientific applications is becoming an important practice. Still, some of the high-level programming languages such as Java require extensions or new interfaces for utilising the huge parallelism of these new devices. In this paper, we propose extensions to an existing Java-based programming and parallel computing environment called Java Symphony to enable Java applications use accelerating devices such as GPUs with little API programmability change. With Java Symphony, a parallel Java application can be uniformly programmed and executed on heterogeneous platforms consisting of conventional parallel computers enhanced with data-parallel coprocessors such as GPUs. We report results on using Java Symphony for programming and improving the performance of six real applications and benchmarks in a heterogeneous environment consisting of a combination of different multi-core CPU and GPU devices.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call