Méthodologie et Algorithmique Parallèles

pour le calcul scientifique


La définition d'une méthodologie de programmation parallèle pour le calcul scientifique demande une étude interdisciplinaire de haut niveau à la croisée de plusieurs domaines classiques, en particulier de l'analyse numérique et de l'informatique du parallélisme.

La résolution de nombreux problèmes actuels impose l'utilisation de plusieurs algorithmes numériques classiques (méthodes hybrides par exemple). Le codage des divers algorithmes pour une machine cible génère des goulots d'étranglement résultant de l'inadéquation entre certaines parties de l'algorithme et les modèles de programmation choisis. La complexité et le type de méthodes numériques utilisées liées à une application requiert l'utilisation de plusieurs modèles de programmation et/ou d'exécution. La programmation parallèle s'oriente donc aussi vers une solution multi-machines. Le but n'est plus uniquement d'utiliser plusieurs machines en parallèle pour avoir une accélération mais d'utiliser au mieux un réseau de machines parallèles hétérogènes pour y développer des méthodes hybrides. Cela peut être des méthodes hybrides basées sur plusieurs versions d'une même méthode itérative lancées sur des machines différentes. Le data parallélisme, avec le calcul scalaire et vectoriel (parallélisme de flux), est choisi comme modèle de programmation parallèle de base. Plusieurs tâches data parallèles pouvant être distribuées sur plusieurs machines parallèles.