Accelerate is a Haskell-embedded DSL for high-performance parallel array computations, JIT-compiled to multicore CPUs or CUDA-enabled NVIDIA GPUs via LLVM backends.
Key Takeaways
Core abstraction: parameterised collective ops (map, fold, zipWith, permutations) on multi-dimensional regular arrays; dot product example mirrors list Haskell but runs on GPU.
Two primary backends: accelerate-llvm-native (multicore CPU) and accelerate-llvm-ptx (NVIDIA CUDA, compute capability 3.0+).
Rich ecosystem: FFT, BLAS/LAPACK, image I/O, random arrays, lens/linear integration, and serialisation all available as separate Hackage packages.
API is still marked preliminary; parts may change in future releases.
Hacker News Comment Review
Single commenter questions whether Accelerate is differentiated given the crowded namespace of similarly-named GPU/array compute projects – a real discoverability concern for adopters.