Gemma in April: A matrix-like parallel programming architecture on OpenCL

Tianji Wu,Di Wu,Yu Wang,Xiaorui Zhang,Hong Luo,Ningyi Xu,Huazhong Yang
DOI: https://doi.org/10.1109/DATE.2011.5763119
2011-01-01
Abstract:Nowadays, Graphics Processing Unit (GPU), as a kind of massive parallel processor, has been widely used in general purposed computing tasks. Although there have been mature development tools, it is not a trivial task for programmers to write GPU programs. Based on this consideration, we propose a novel parallel computing architecture. The architecture includes a parallel programming model, named Gemma, and a programming framework, named April. Gemma is based on generalized matrix operations, and helps to alleviate the difficulty of describing parallel algorithms. April is a high-level framework that can compile and execute tasks described in Gemma with OpenCL. In particular, April can automatically 1) choose the best parallel algorithm and mapping scheme, and generate OpenCL kernels, 2) schedule Gemma tasks based on execution costs such as data storing and transferring. Our experimental results show that with competitive performance, April considerably reduces the programs' code length compared with OpenCL.
What problem does this paper attempt to address?