Programming Future Parallel Architectures with Haskell and Intel ArBB
Paper i proceeding, 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

Författare

Joel Bo Svensson

Chalmers, Data- och informationsteknik, Programvaruteknik

Ryan Newton

Future Architectural Support for Parallel Programming (FASPP'11)

Ämneskategorier

Datorteknik

Programvaruteknik

Styrkeområden

Informations- och kommunikationsteknik