Functional Programming for High-Performance Computing on Heterogeneous Architectures

Sylvain Henry
University of Bordeaux, 351 cours de la liberation, 33405 Talence, France
draft, 2011


   title={Functional Programming for High-Performance Computing on Heterogeneous Architectures},

   author={Henry, S.},



Download Download (PDF)   View View   Source Source   



Heterogeneous architectures become dominant in high-performance computing platforms but programming them remains really hard, especially because high-performance programs are usually written using low-level languages (C, Fortran, OpenMP…) and frameworks (CUDA, OpenCL…). Mid-level frameworks have been introduced to automatically perform management of distributed memory and scheduling on different devices, allowing applications to only submit tasks and their dependencies (forming a task graph) to get them executed efficiently. However, they remain quite lowlevel and they don’t allow static checking and optimizations to be performed on dynamically constructed task graphs. We propose a high-level way to express task graphs inspired by concepts from functional programming and we describe how a runtime system supporting it should work. Our approach allows checks and transformations to be performed statically as well as dynamically on task graphs. In addition, we mention how functional paradigm concepts could be used to further enhance highperformance computing frameworks on heterogeneous and manycore architectures.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: