A Framework for Transparent Execution of Massively-Parallel Applications on CUDA and OpenCL
University of Bremen, Germany
EuroVR Conference, 2015
@article{teuber2015framework,
title={A Framework for Transparent Execution of Massively-Parallel Applications on CUDA and OpenCL},
author={Teuber, J{"o}rn and Weller, Rene and Zachmann, Gabriel},
year={2015}
}
We present a novel framework for the simultaneous development for different massively parallel platforms. Currently, our framework supports CUDA and OpenCL but it can be easily adapted to other programming languages. The main idea is to provide an easy-to-use abstraction layer that encapsulates the calls of own parallel device code as well as library functions. With our framework the code has to be written only once and can then be used transparently for CUDA and OpenCL. The output is a single binary file and the application can decide during run-time which particular GPU-method it will use. This enables us to support new features of specific platforms while maintaining compatibility. We have applied our framework to a typical project using CUDA and ported it easily to OpenCL. Furthermore we present a comparison of the running times of the ported library on the different supported platforms.
November 3, 2015 by hgpu