Étude comparative de langages pour la programmation multi-coeurs

Introduction

Avec l'apparition des processeurs multi-coeurs et l'accroissement prévu du nombre de coeurs dans les futurs processeurs, l'informatique parallèle entre dans l'informatique de grande diffusion. Or programmer efficacement ce genre de matériel nécessite des compétences rares. C'est ainsi qu'Intel par des articles tels que Think Parallel or Perish et The New Era of Tera-Scale Computing, encourage aux développement des compétences qui sont celles que l'on trouve actuellement essentiellement dans le domaine du calcul scientifique et de la simulation.

Il y a également une activité forte autour de la conception de nouveaux langages de programmation, bibliothèques et annotations pour le parallélisme, tels que Fortress, Cilk++, SaC, Chapel, CnC, TBB, Manticore, OpenMP, MPI, FlowVR, des extensions aux PThreads, etc.

Le stage

Le stage consistera dans un premier temps à établir un état de l'art les nouveaux langages de programmation pour les multicoeur et à établir une méthodologie pour leur comparaison.

Dans un second temps, une comparaison des différentes approches incluant des comparaisons de performances de plusieurs applications à définir et à programmer avec ces différents outils, puis à expérimenter sur diverses machines parallèles.

Organisation

Références