Programming Multicore GPUs in Haskell Trevor L. McDonell University of New South Wales Modern graphics processors are increasingly being used for general-purpose computations, and are supported as such by several low-level programming interfaces. However, the hardware design does not lend itself to executing arbitrary code from high-level languages such as Haskell. Accelerate represents our efforts to overcoming these challenges; an embedded language of array computations for high-performance computing, in which computations on multidimensional, regular arrays are expressed in the form of parameterised collective operations such as maps, reductions and permutations. In this talk, I shall briefly introduce the Accelerate EDSL, before focusing on the implementation of a CUDA backend for parallel execution on NVIDIA GPUs. I shall discuss the main challenges of this approach, current status, and preliminary results.