Programming Future Parallel Architectures with Haskell and Intel ArBB
Department of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden
Workshop on Future Architectural Support for Parallel Programming (FASPP, in conjuction with ISCA ’11), 2011
@article{svensson2011programming,
title={Programming Future Parallel Architectures with Haskell and Intel ArBB},
author={Svensson, B.J. and Newton, R.},
year={2011}
}
New parallel architectures, such as Cell, Intel MIC, GPUs, and tiled architectures, enable high performance but are often hard to program. What is needed is a bridge between high-level programming models where programmers are most productive and modern parallel architectures. We propose that that bridge is Embedded Domain Specific Languages (EDSLs). One attractive target for EDSLs is Intel ArBB, a virtual machine for parallel, vectorized computations. We propose to wed ArBB with the functional programming language Haskell, using an EDSL that generates code for the ArBB VM. This Haskell integration provides added safety guarantees compared to other ArBB interfaces. Further, our prototype, Harbb, is one of the first EDSL implementations with optimized backends for multiple parallel architectures (CPU, NVIDIA GPU, and others), allowing portability of source code over devices and their accelerators.
November 17, 2011 by hgpu