A New Compilation Path: From Python/NumPy to OpenCL
IBM Software Laboratory, Markham, ON, Canada
Workshop on Python for High Performance and Scientific Computing (PyHPC), 2011
@article{li2011new,
title={A New Compilation Path: From Python/NumPy to OpenCL},
author={Li, X. and Amaral, J.N.},
year={2011}
}
Jit4OpenCL is a new compiler that converts scientific applications written in Python/NumPy into OpenCL code. This compiler is based on unPython, an ahead-of-time compiler from Python/Numpy to an intermediate form and OpenMP code, and on jit4GPU, a just-in-time compiler that converts that intermediate code into AMD CAL code that is specific for AMD GPUs. The targeting of OpenCL provides a new evaluation point in the tradeoff between performance and portability for this type of application. Adapting the data access analysis to the OpenCL model was critical for the construction of this new compiler. An experimental evaluation compares the execution time of benchmarks compiled with jit4GPU and jit4OpenCL with highly optimized versions of the same benchmarks running on the CPU.
November 26, 2011 by hgpu