University of Cambridge > > Microsoft Research Cambridge, public talks > Making OpenCL simple with Haskell

Making OpenCL simple with Haskell

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

Modern processors are evolving into hybrid, heterogeneous processors with both CPU and GPU cores used for general purpose computation. The data-parallel languages OpenCL/Cuda have been proposed as low-level programming models for these devices. Both are seen as a good fit to the physical hardware model and can provide access to unparalleled performance, but this comes at a price, and in particular can impact programmers productivity. To address these issues language designers have developed high-level abstractions, e.g. opaque arrays with extent and shape operations, that are compiled, statically and dynamically, to OpenCL or Cuda, but this can come at a price too. Often these programming abstraction limit the algorithms that can be expressed, e.g. regular array algorithms, while the underlying language itself allows for a more.

In this talk we present an embedding of OpenCL into the functional programming language Haskell, with the intention of allow programmers to increase productivity while also allowing them to write any OpenCL program. We qualitatively demonstrate that using Haskell as a host language improves programming productivity, while allowing Haskell programmers access to some of the performance benefits of modern CPUs and GPUs.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2022, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity