Thèse soutenue

Environnement de programmation parallèle adapté au traitement d'images et au calcul scientifique : le langage C// et son compilateur

FR
Auteur / Autrice : Abdelkrim Fatni
Direction : Jean-Luc Basille
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1998
Etablissement(s) : Toulouse, INPT

Résumé

FR

Les applications '' Grand Challenge '' nécessitent une puissance de calcul très importante. Malgré la haute performance des outils informatiques engendrée par la haute intégration des circuits électroniques, la puissance requise par ces applications, de l'ordre du tera-flops, reste non satisfaite. Le challenge pose a l'informaticien trouve sa solution dans la parallélisation de l'environnement de calcul. Celui-ci est constitué du calculateur, de l'algorithmique, du langage de programmation et de son compilateur. Mais l'environnement ne peut être efficace que s'il y a adéquation entre ces différentes composantes. Dans ce but, un environnement de programmation parallèle adapte au traitement d'images et au calcul scientifique est proposé dans cette thèse. Dans cette étude nous avons introduit le langage C// et son compilateur. Le langage C// est une extension parallèle du C basée sur le modèle de programmation a parallélisme de données. Le modèle d'exécution est de type SPMD à mémoire partagée et physiquement distribuée (DSM). Plusieurs processeurs de la machine exécutent le même programme et communiquent à travers des variables partagées. Des points de synchronisation sont utilisés par le programmeur pour coordonner les divers flots de la machine et maintenir la cohérence de données. L'atelier de compilation de C // se compose de deux phases consécutives. La première phase consiste en la traduction du code C // en code C après analyse syntaxique et sémantique des constructions parallèles relevant de notre paradigme de programmation. Ce code sera ensuite compilé par le compilateur Gcc de la FSF (Free Software Foundation) en code machine. L'utilité de Gcc provient de sa disponibilité, sa portabilité et sa configurabilité pour d'autres plates-formes. La machine symphonie nous a servi d'exemple pour la configuration de Gcc. Nous avons aussi implanté l'atelier de compilation sur la machine GFLOPS. Plusieurs applications relevant du domaine de traitement d'images ont été développées et simulées sur GFLOPS. Ceci nous a permis d'évaluer et de valider notre environnement de programmation C // sur cette machine. Les premiers résultats sont très encourageants.