Programming Future Parallel Architectures with Haskell and Intel ArBB
Paper in proceedings, 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.

Functional Programming

Just in Time compilation

EDSL

Author

Joel Bo Svensson

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Ryan Newton

Future Architectural Support for Parallel Programming (FASPP'11)

Subject Categories

Computer Engineering

Software Engineering

Areas of Advance

Information and Communication Technology

More information

Created

10/7/2017