HeadlinesBriefing favicon HeadlinesBriefing.com

Haskell library Accelerate brings GPU-accelerated array computing to Haskell

Hacker News •
×

AccelerateHS/accelerate is a Haskell embedded language for high-performance array computations, letting developers write GPU and multicore CPU code that reads almost like plain Haskell. Computations on multi-dimensional arrays use parameterised collective operations—maps, reductions, permutations—and get online-compiled to target architectures at runtime.

The package supports CUDA-enabled NVIDIA GPUs via accelerate-llvm-ptx and multicore CPUs via accelerate-llvm-native. Real-world examples include canny edge detection, an N-body gravitational simulation, PageRank, a ray-tracer, fluid dynamics, and cellular automata. A LULESH hydrodynamics mini-app is also available.

The project ships from Hackage and GitHub, maintained primarily by Trevor L. McDonell with contributions from Chakravarty, Keller, and others. Users cite multiple peer-reviewed papers on functional GPU programming and type-safe LLVM code generation as the research backbone.