Software Abstractions for Parallel Architectures - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Hdr Année : 2014

Software Abstractions for Parallel Architectures

Abstractions Logicielles pour Architectures Parallèles

Résumé

Performing large, intensive or non-trivial computing on array like data structures is one of the most common task in scientific computing, video game development and other fields. This matter of fact is backed up by the large number of tools, languages and libraries to perform such tasks. If we restrict ourselves to C++ based solutions, more than a dozen such libraries exists from BLAS/LAPACK C++ binding to template meta-programming based Blitz++ or Eigen. If all of these libraries provide good performance or good abstraction, none of them seems to fit the need of so many different user types. Moreover, as parallel system complexity grows, the need to maintain all those components quickly become unwieldy. This thesis explores various software design techniques - like Generative Programming, MetaProgramming and Generic Programming - and their application to the implementation of various parallel computing libraries in such a way that abstraction and expressiveness are maximized while efficiency overhead is minimized.
Un nombre croissant de domaines applicatifs allant du calcul scientifique au jeu vidéo reposent sur la manipulation efficace et non triviale de structure de données de type tableau. Cet état de fait est d’autant plus criant au vu du nombre d’outils libres ou propriétaires visant á simplifier le développement de telles applications. En se limitant á C++ , plus d’une douzaine de telles bibliothèques sont disponibles comme Blitz ou Eigen. Si toutes ces bibliothèques fournissent ou un bon niveau d’abstraction ou des performances élevées, il leur est difficile d’accommoder un tel spectre d’utilisateurs. De plus, devant la multiplication et la complexification des systèmes de calculs par- allèles, il devient difficile de maintenir et de développer de nouvelles fonctionalistes tirant parties de ce matériel. Cette thèse explore comment des techniques de développement logiciel comme la programmation generative, la programmation générique et la méta-programmation peuvent être utilisées afin de proposer une nouvelle méthode de développe- ment adaptées á ce type de contraintes et permettant de concilier haut niveau d’abstraction et haut niveau de performance.
Fichier principal
Vignette du fichier
Thesis.pdf (1.92 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01111708 , version 1 (30-01-2015)

Identifiants

  • HAL Id : tel-01111708 , version 1

Citer

Joel Falcou. Software Abstractions for Parallel Architectures. Distributed, Parallel, and Cluster Computing [cs.DC]. Universite de Paris 11, 2014. ⟨tel-01111708⟩
260 Consultations
1077 Téléchargements

Partager

Gmail Facebook X LinkedIn More