Guiding parallel array fusion with index types

Ben Lippmeier, Manuel Chakravarty, Gabriele Keller, Simon Peyton Jones

Haskell Symposium, Copenhagen |

Published by ACM

We present a refined approach to parallel array fusion that uses indexed types to specify the internal representation of each array. Our approach aids the client programmer in reasoning about the performance of their program in terms of the source code. It also makes the intermediate code easier to transform at compile-time, resulting in faster compilation and more reliable runtimes. We demonstrate how our new approach improves both the clarity and performance of several end-user written programs, including a fluid flow solver and an interpolator for volumetric data.