Précédent : Outils pour le débogage et
Remonter : Résultats nouveaux Suivant :
Contrats industriels
(nationaux, européens et
Dans ce contexte, avec un modèle simple de turbulence comme cas test, un harnais parallèle pour les méthodes de décomposition de domaine en 2D a été écrit en ATHAPASCAN. Il permet une mise en oeuvre aisée d'un partionnement de maillage conforme, de raffinement de maillage, de diverses formes de recollement aux frontières (méthode de Schur, méthodes de Schwartz, etc.), de schémas synchrones ou asynchrones, de traitement d'un ou plusieurs domaines par noeud de calcul. Des mesures sont en cours afin de tester les performances de ce harnais. Sa flexibilité a été testée sur un code de convection écrit par des chercheurs de l'IRIT. Les travaux futurs doivent englober de la régulation dynamique de la charge accompagnant le raffinement de maillage.
Dans le schéma multigrille développé pour cette application d'océanographie, les résultats calculés entre ces différentes grilles à différentes étapes assurent la convergence vers la solution. Ces schémas évoluant au cours du temps, une première partie du travail consistait en la modélisation des schémas complexes de calculs, de communication et de synchronisation, la modélisation devant être suffisamment simple mais suffisamment pertinente pour permettre l'ordonnancement efficace d'une simulation. Le modèle des tâches malléables a été retenu pour cet ordonnancement et des mesures ont été effectuées sur des modélisations monogrille non adaptatives. Le travail théorique continue notamment aussi avec des collaborations issues d'autres projets (PROTHEUS et POLONIUM).
Un prototype d'expérimentation sur un modèle simplifié est en phase de mise au point. En plus de la validation des choix, le prototype sert de modèle pour la parallélisation et l'adaptation d'un code complexe de simulation océanographique et à la création d'une bibliothèque générique pour la transformation de codes de simulations statiques.
Nous avons développé un code basé sur une approche de décomposition de domaine et utilisant une approximation par rayon de coupure. Les techniques et programmes développés permettent de calculer des dynamiques avec des systèmes de plus de 400 000 atomes sur des périodes de plus de 100 pico-secondes. Ce programme met en évidence l'intérêt de l'approche de programmation proposée par le projet.
Dans le cadre de l'action de recherche coopérative SIMBIO pour la simulation moléculaire complexe, un travail récent a permis d'étendre les fonctionnalités du code au plan de la modélisation biologique et cette application a été portée sur la machine parallèle SGI Origin 2000 du LORIA à Nancy.
Un couplage avec des codes d'électrostatique pour modéliser le solvant et des codes quantiques pour modéliser plus finement certaines interactions d'atomes est aussi à l'étude. Ils concernent à la fois les aspects numériques du couplage (travaux menés à Nancy) et les aspects logiciels (couplage de code).
Dans le cadre de la théorie des semi-conducteurs, les valeurs propres (énergies) solutions minimisent le quotient de Rayleigh associé à l'opérateur de Schrödinger : les techniques usuelles employées dans la discipline sont souvent basées sur des algorithmes d'optimisation : on se donne une base de fonctionnelles paramètrées ; on projette dessus l'opérateur, et on tente de minimiser la valeur propre la plus basse (par exemple) en faisant varier les paramètres. Outre le fait de devoir connaître une base, cette technique présente le défaut de conduire à des diagonalisations de matrices souvent denses.
Nous proposons en collaboration avec Pierre Valiron et Guy Fishman une méthode différente, basée sur la discrétisation par un schéma aux différences finies de l'opérateur. La matrice creuse obtenue est ensuite diagonalisée directement par une méthode itérative ad hoc (algorithme de Lanczos). Une version parallèle (en MPI) de cet algorithme est utilisée sur le Cray T3E du CEA. Une version de ce programme en ATHAPASCAN est en cours de réalisation, afin de comparer cette programmation à MPI sur un problème physiquement intéressant. L'intérêt de ce travail est double : comparaison d' ATHAPASCAN à MPI sur le T3E pour la partie parallélisme et obtention de résultats physiques pour la partie semi-conducteurs de ce travail.
Dans le cadre de l'action incitative NSF-CNRS n5926 en collaboration avec le LMC-IMAG, l'université du Delaware et l'université de Caroline du nord, nous avons commencé une étude sur l'implantation d'algorithmes parallèles efficaces en algèbre linéaire formelle creuse sur des corps finis. Les algorithmes étudiés concernent le calcul du rang de grandes matrices creuses par des méthodes d'élimination et des méthodes itératives probabilistes. L'implantation en cours de développement concerne le prototypage d'un ensemble de structures C++ pour la manipulation parallèle efficace de matrices représentées par des "boites noires" (black-box), étendant les structures proposées par Givaro. Ces travaux de recherche vont se poursuivre, d'une part, par l'étude de certificats aux algorithmes probabilistes utilisés, et, d'autre part, par une analyse de performance de ces algorithmes parallèles avec ATHAPASCAN.
Une stratégie de parallélisation de l'algorithme de Cholesky pour la factorisation de matrices creuses a été proposée. Cet algorithme utilise intensivement les BLAS de niveau 3 pour réduire les indirections sur les accès aux données et un placement statique des calculs, réalisé à partir du graphe d'élimination, pour la régulation de charge. Cet algorithme parallèle a été implémenté dans le modèle de programmation par échange de message (MPI), et comparé avec les algorithmes existants. Les performances expérimentales de cet algorithme améliorent, pour de nombreuses matrices creuses, les performances des algorithmes existants.
Cet algorithme a ensuite été implémenté en ATHAPASCAN-1 qui intègre des mécanismes de régulation de charge dynamique. Cette réalisation est actuellement en cours d'évaluation et sera comparée avec l'implantation réalisée sur MPI.