Futhark: purely functional GPU-programming with nested parallelism and in-place array updates
Abstract
Futhark is a purely functional data-parallel array language that offers a machine-neutral programming model and an optimising compiler that generates OpenCL code for GPUs.