Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Thu 22 Sep 2016 14:00 - 14:25 at Conference Room 2 - GPUs Chair(s): Ben Lippmeier

We present a Functional Compute Language (FCL) for low-level GPU programming. FCL is functional in style, which allows for easy composition of program fragments and thus easy prototyping and a high degree of code reuse. In contrast with projects such as Futhark, Accelerate, Harlan, Nessie and Delite, the intention is not to develop a language providing fully automatic optimizations, but instead to provide a platform that supports absolute control of the GPU computation and memory hierarchies. The developer is thus required to have an intimate knowledge of the target platform, as is also required when using CUDA/OpenCL directly.

FCL is heavily inspired by Obsidian. However, instead of relying on a multi-staged meta-programming approach for kernel generation using Haskell as meta-language, FCL is completely selfcontained, and we intend it to be suitable as an intermediate language for data-parallel languages, including data-parallel parts of high-level array languages, such as R, Matlab, and APL.

We present a type-system and a dynamic semantics suitable for understanding the performance characteristics of both FCL and Obsidian-style programs. Our aim is that FCL will be useful as a platform for developing new parallel algorithms, as well as a targetlanguage for various code-generators targeting GPU hardware.

Thu 22 Sep

Displayed time zone: Osaka, Sapporo, Tokyo change

14:00 - 14:50
GPUsFHPC at Conference Room 2
Chair(s): Ben Lippmeier University of New South Wales
14:00
25m
Talk
Low-Level Functional GPU Programming for Parallel Algorithms
FHPC
Martin Dybdal , Martin Elsman Department of Computer Science, University of Copenhagen, Bo Joel Svensson Chalmers University of Technology, Sweden, Mary Sheeran Chalmers University of Technology
14:25
25m
Talk
APL on GPUs: A TAIL from the Past, Scribbled in Futhark
FHPC
Troels Henriksen DIKU, University of Copenhagen, Martin Dybdal , Henrik Urms DIKU, University of Copenhagen, Anna Sofie Kiehn DIKU, University of Copenhagen, Daniel Gavin DIKU, University of Copenhagen, Hjalte Abelskov DIKU, University of Copenhagen, Martin Elsman Department of Computer Science, University of Copenhagen, Cosmin Oancea DIKU, University of Copenhagen