Accueil
      English site
        Rechercher
 

 


Séminaire de l'IDRIS du 11 février 2010




Ce séminaire de l'IDRIS a eu lieu jeudi 11 février 2010 de 10h30 à 12h dans les locaux de l'IDRIS :

Expériences de développement logiciel en langage de programmation X10


Marc TAJCHMAN

Commissariat à l’énergie atomique

L’utilisation efficace des architectures parallèles actuelles et prévisibles nécessite un renouvellement ou, au moins, une évolution des méthodes, langages et outils actuels de programmation. Dans cet exposé, on a choisi d’examiner X10, un des nouveaux langages de programmation conçus dans ce but.
X10 est un langage de programmation de type orienté-objet, dont la syntaxe est inspirée de Java mais compilé et n’utilisant pas de machine virtuelle. X10 définit nativement des opérateurs et structures utiles à la programmation parallèle. Pour la mise en oeuvre d’un parallélisme de tâches, on trouvera notamment les notions de ≪ place ≫ (analogue à un processus MPI) et d’≪ activité ≫ (analogue à un thread), une activité pouvant être démarrée et contrôlée localement au sein d’une place ou à distance depuis une autre place. Pour la distribution des données, X10 définit une zone mémoire répartie entre les différentes places, accessible via un adressage global, associée à une zone mémoire locale et privée par place (X10 fait partie de la famille de langages PGAS).
Dans une première partie, on présentera ces différentes notions proposées en les illustrant par des exemples simples de code. Ensuite, on exposera différentes expériences de programmation réalisées avec le langage X10, caractérisant plusieurs situations possibles : développement d’un nouveau code, traduction totale ou partielle de code existant (type passage de messages – MPI – et/ou type ≪ multi-threads ≫ – OpenMP), contrôle depuis X10 de code séquentiel C/C++/Fortran. On exposera notamment les performances obtenues, les forces et faiblesses du langage mises en évidence ainsi que les difficultés rencontrées lors de ces tests.



Après une formation d’ingénieur en génie civil et une thèse en mathématiques appliquées, Marc Tajchman occupe au CEA un poste d’architecte logiciel et de développeur de plateformes de simulation numériques. Depuis quelques années, il s’intéresse plus particulièrement à l’évolution des outils de programmation destinés aux nouvelles architectures matérielles pour le calcul.

Les transparents utilisés lors de cette présentation : présentation (pdf), codes (gz) et exemples (gz).


L'annonce de ce séminaire est  disponible sous forme d'un fichier pdf.