Nouveaux Algorithmes Numériques Pour L’utilisation Efficace Des Architectures Multi-Cœurs Et Hétérogènes

Yining Fan
2015-01-01
Abstract:Cette etude est motivee par les besoins reels de calcul dans la physique des reacteurs. Notre objectif est de concevoir les algorithmes paralleles, y compris en proposant efficaces noyaux algebriques lineaires et methodes numeriques paralleles.Dans un environnement many-cœurs en memoire partagee tel que le systeme Intel Many Integrated Core (MIC), la parallelisation efficace d'algorithmes est obtenue en termes de parallelisme des tâches a grain fin et parallelisme de donnees. Pour la programmation des tâches, deux principales strategies, le partage du travail et vol de travail ont ete etudiees. A des fins de generalite et de reutilisation, nous utilisons des interfaces de programmation parallele standard, comme OpenMP, Cilk/Cilk+ et TBB. Pour vectoriser les tâches, les outils disponibles incluent Cilk+ array notation, pragmas SIMD, et les fonctions intrinseques. Nous avons evalue ces techniques et propose un noyau efficace de multiplication matrice-vecteur dense. Pour faire face a une situation plus complexe, nous proposons d'utiliser le modele hybride MPI/OpenMP pour la mise en œuvre de noyau multiplication matrice-vecteur creux. Nous avons egalement concu un modele de performance pour modeliser les performances sur MICs et ainsi guider l'optimisation. En ce qui concerne la resolution de systemes lineaires, nous avons propose un solveur parallele evolutif issue de methodes Monte Carlo. Cette methode presente un degre de parallelisme abondant, qui s’adapte bien a l'architecture multi-coeurs. Pour repondre a certains des goulots d'etranglement fondamentaux de ce solveur, nous proposons un modele d'execution basee sur les tâches qui resout completement ces problemes.
What problem does this paper attempt to address?