Study and evaluation of automatic GPU offloading method from various language applications
Yoji Yamato
Abstract
Heterogeneous hardware other than a small-core central processing unit (CPU) is increasingly being used, such as a graphics processing unit (GPU), field-programmable gate array (FPGA) or many-core CPU. However, to use heterogeneous hardware, programmers must have sufficient technical skills to utilise OpenMP, CUDA, and OpenCL. On the basis of this, we previously proposed environment-adaptive software that enables automatic conversion, configuration, and high performance operation of once-written code, in accordance with the hardware to be placed. However, the source language for offloading was mainly C/C++ language applications, and there was no research into common offloading for various language applications. In this paper, for a new challenge, we study a common method for automatically offloading various language applications in not only C language but also Python and Java. We evaluate the effectiveness of the proposed method in multiple applications of various languages.