Accelerate
Embedded language for high-performance array computations
...These computations are online-compiled and executed on a range of architectures. Accelerate is a free, general-purpose, open-source library that simplifies the process of developing software that targets massively parallel architectures including multicore CPUs and GPUs. Embedded in the advanced functional programming language Haskell, Accelerate programs are declarative, statically-typed, pure, functional, and ready to exploit all of the performance of modern parallel hardware. The combination of a strong type system, high-level code, and interactive development environment, allows you to develop code quickly with the confidence that it is correct.