Painless Parallelism on Heterogeneous Hardware Leveraging the Functional Paradigm
Mauro Blanco, Pablo Perdomo, Pablo Ezzatti, Alberto Pardo, Marcos Viera · 2015
We use a functional framework designed for parallel programming with linear algebra applications to leverage the computing power of heterogeneous hardware. Our work is performed in the context of the pure functional programming language Haskell. The framework allows the manipulation of arbitrary representations for matrices and the definition of multiple implementations of BLAS operations based on different algorithms and parallelism strategies. We perform some benchmarks for representative BLAS operations on three different platforms (multi-core CPU, ARM and GPU), where we apply different parallelism strategies and employ several representations.