Affiliation:
1. INRIA and École Normale Supérieure, Paris, France
2. ARM, Cambridge, United Kingdom
Abstract
We present VOBLA, a domain-specific language designed for programming linear algebra libraries. VOBLA is compiled to PENCIL, a domain independent intermediate language designed for efficient mapping to accelerator architectures such as GPGPUs. PENCIL is compiled to efficient, platform-specific OpenCL code using techniques based on the polyhedral model. This approach addresses both the programmer productivity and performance portability concerns associated with accelerator programming.
We demonstrate our approach by using VOBLA to implement a BLAS library. We have evaluated the performance of OpenCL code generated using our compilation flow on ARM Mali, AMD Radeon, and AMD Opteron platforms. The generated code is currently on average 1.9x slower than highly hand-optimized OpenCL code, but on average 8.1x faster than straightforward OpenCL code. Given that the VOBLA coding takes significantly less effort compared to hand-optimizing OpenCL code, we believe our approach leads to improved productivity and performance portability.
Funder
Seventh Framework Programme
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference18 articles.
1. A. Faucher C. Fu D. Callahan K. Spagnoli and P. Nagpal. C++ AMP BLAS. http://ampblas.codeplex.com/ 2013. A. Faucher C. Fu D. Callahan K. Spagnoli and P. Nagpal. C++ AMP BLAS. http://ampblas.codeplex.com/ 2013.
2. GNU Project. GSL: GNU Scientific Library. http://www.gnu.org/software/gsl/ 1996--2013. GNU Project. GSL: GNU Scientific Library. http://www.gnu.org/software/gsl/ 1996--2013.
3. Implementing Domain-Specific Languages for Heterogeneous Parallel Computing
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献