ViperVM: a Runtime System for Parallel Functional High-Performance Computing on Heterogeneous Architectures

Sylvain Henry 1, 2
2 RUNTIME - Efficient runtime systems for parallel architectures
Inria Bordeaux - Sud-Ouest, UB - Université de Bordeaux, CNRS - Centre National de la Recherche Scientifique : UMR5800
Abstract : The current trend in high-performance computing is to use heterogeneous architectures (i.e. multi-core with accelerators such as GPUs or Xeon Phi) because they offer very good performance over energy consumption ratios. Programming these architectures is notoriously hard, hence their use is still somewhat restricted to parallel programming experts. The situation is improving with frameworks using high-level programming models to generate efficient computation kernels for these new accelerator architectures. However, an orthogonal issue is to efficiently manage memory and kernel scheduling especially on architectures containing multiple accelerators. Task graph based runtime systems have been a first step toward efficiently automatizing these tasks. However they introduce new challenges of their own such as task granularity adaptation that cannot be easily automatized. In this paper, we present a programming model and a preliminary implementation of a runtime system called ViperVM that takes advantage of parallel functional programming to extend task graph based runtime systems. The main idea is to substitute dynamically created task graphs with pure functional programs that are evaluated in parallel by the runtime system. Programmers can associate kernels (written in OpenCL, CUDA, Fortran\ldots) to identifiers that can then be used as pure functions in programs. During parallel evaluation, the runtime system automatically schedules kernels on available accelerators when it has to reduce one of these identifiers. An extension of this mechanism consists in associating both a kernel and a functional expression to the same identifier and to let the runtime system decide either to execute the kernel or to evaluate the expression. We show that this mechanism can be used to perform dynamic granularity adaptation.
Type de document :
Communication dans un congrès
2nd Workshop on Functional High-Performance Computing (FHPC'13), Sep 2013, Boston, United States. 2013
Liste complète des métadonnées

Littérature citée [46 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-00851122
Contributeur : Sylvain Henry <>
Soumis le : mardi 1 octobre 2013 - 14:11:26
Dernière modification le : jeudi 10 septembre 2015 - 01:06:51
Document(s) archivé(s) le : mercredi 5 avril 2017 - 20:43:01

Fichier

fhpc13.pdf
Fichiers éditeurs autorisés sur une archive ouverte

Identifiants

  • HAL Id : hal-00851122, version 1

Collections

Citation

Sylvain Henry. ViperVM: a Runtime System for Parallel Functional High-Performance Computing on Heterogeneous Architectures. 2nd Workshop on Functional High-Performance Computing (FHPC'13), Sep 2013, Boston, United States. 2013. 〈hal-00851122〉

Partager

Métriques

Consultations de
la notice

197

Téléchargements du document

216