Compiling APL to accelerate through a typed array intermediate language
Michael Budde, Martin Dybdal, Martin Elsman · 2015
We present an approach for compiling a rich subset of APL into data-parallel programs that can be executed on GPUs. The compiler is based on the AplTail compiler, which compiles APL programs into a typed array intermediate language, called TAIL. We translate TAIL programs into Haskell source code, employing Accelerate, a Haskell-library for general purpose GPU-programming. We demonstrate the feasibility of the approach by presenting some encouraging results for a number of smaller benchmarks. We also outline some problems that we need to overcome in order for the approach to result in competitive code for larger benchmarks.