The Community for Technology Leaders
2013 Workshops of 27th International Conference on Advanced Information Networking and Applications (WAINA) (2013)
Barcelona
March 25, 2013 to March 28, 2013
ISBN: 978-1-4673-6239-9
pp: 1405-1410
C. Wolf , Comput. Sci. Dept. Program. Syst. Group, Univ. of Erlangen-Nuremberg, Erlangen, Germany
G. Dotzler , Comput. Sci. Dept. Program. Syst. Group, Univ. of Erlangen-Nuremberg, Erlangen, Germany
R. Veldema , Comput. Sci. Dept. Program. Syst. Group, Univ. of Erlangen-Nuremberg, Erlangen, Germany
M. Philippsen , Comput. Sci. Dept. Program. Syst. Group, Univ. of Erlangen-Nuremberg, Erlangen, Germany
ABSTRACT
For scientists, it is advantageous to use a high level of abstraction for programming their simulations, so that they can focus on the problem at hand instead of struggling with low-level details. However, current HPC clusters with multiple GPUs per node only offer explicit communication to and from the GPUs, require manual work to keep the data consistent, and often need explicit kernel programming. Moreover, known GPU programming frameworks are limited to a single GPU or a single machine and also rarely support objects. Our system removes the above restrictions. With a slight but necessary change in Java's semantics, we achieve automatic distribution and efficient use of objects and arrays of objects on multiple GPUs in a cluster. On benchmarks that distribute arrays of objects over five machines with 10 GPUs, we achieve speedups of up to 4.9 compared to one node.
INDEX TERMS
Arrays, Java, Graphics processing units, Kernel, Programming, Vectors, Middleware,OpenMP, Java, Parallelism, GPU, Cluster computing
CITATION
C. Wolf, G. Dotzler, R. Veldema, M. Philippsen, "Object Support for OpenMP-style Programming of GPU Clusters in Java", 2013 Workshops of 27th International Conference on Advanced Information Networking and Applications (WAINA), vol. 00, no. , pp. 1405-1410, 2013, doi:10.1109/WAINA.2013.62
86 ms
(Ver 3.3 (11022016))