Writing a modular GPGPU program in Java

  • Authors:
  • Masayuki Ioki;Shumpei Hozumi;Shigeru Chiba

  • Affiliations:
  • Tokyo Institute of Technolory, Tokyo, Japan;Tokyo Institute of Technolory, Tokyo, Japan;Tokyo Institute of Technolory, Tokyo, Japan

  • Venue:
  • Proceedings of the 2012 workshop on Modularity in Systems Software
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a Java to CUDA runtime program translator for scientific-computing applications. Traditionally, these applications have been written in Fortran or C without using a rich modularization mechanism. Our translator enables those applications to be written in Java and run on GPGPUs while exploiting a rich modularization mechanism in Java. This translator dynamically generates optimized CUDA code from a Java program given at bytecode level when the program is running. By exploiting dynamic type information given at translation, the translator devirtualizes dynamic method dispatches and flattens objects into simple data representation in CUDA. To do this, a Java program must be written to satisfy certain constraints. This paper also shows that the performance overheads due to Java and WootinJ are not significantly high.