Compute Language Interface: A Transparent Wrapper Library For Multi Cpu-Gpu - Ooi, Keng Siang (2013)
The Graphics Processing Unit (GPU) processing capability is getting more powerful than before. Compute intensive and data parallelism applications are proven to perform better on the GPU than on the Central Processing Unit (CPU). However, available General-Purpose Computing on Graphics Processing Unit (GPGPU) programming frameworks which are available publicly are unable to reach beyond the single computer limitation to utilize multiple CPUs and GPUs at different computers in a distributed computing system easily. This study presents the Compute Language Interface (CLI) which is a wrapper library that enables the existing OpenCL applications access to all available CPUs and GPUs in a distributed computing system through Message Passing Interface (MPI) transparently. It is designed to improve the scalability of the OpenCL applications on a distributed computing system while maintaining the same set of application programming interface (API) in the original OpenCL library. The applications can access all available CPUs and GPUs in different computers in a distributed computing system as ifall the CPUs and GPUs are in the same computer.