Spelling suggestions: "subject:"calcul paralleled distribuem"" "subject:"calcul paralleled distribuer""
1 |
Resolution de systemes lineaires de grande taille avec plusieurs seconds membresLangou, Julien 10 June 2003 (has links) (PDF)
Le point de départ de cette thèse est un problème posé par le groupe électromagnétisme de EADS-CCR : comment résoudre plusieurs systèmes linéaires avec la même matrice mais différents seconds membres ? Pour l'application voulue, les matrices sont complexes, denses et de grande taille. Un problème standard comporte environ quelques millions d'inconnues. Comme de telles matrices ne peuvent être ni calculées, ni stockées dans un processus industriel, l'utilisation d'un produit matrice-vecteur approché est la seule alternative. En l'occurrence, le produit matrice-vecteur est effectué en utilisant la méthode multipôle rapide. Dans ce contexte, le but de cette thèse est d'adapter les méthodes itératives de type Krylov de telle sorte qu'elles traitent efficacement les nombreux seconds membres. Des travaux préliminaires avec un seul second membre ont montré que la méthode GMRES est particulièrement efficace et robuste pour cette application. En conséquence dans cette thèse nous abordons uniquement les variantes de GMRES. Les schémas d'orthogonalisation que nous avons implantés dans GMRES sont des variantes de l'algorithme de Gram-Schmidt. <br /><br />Dans une première partie, nous nous intéressons à l'influence des erreurs d'arrondi dans les algorithmes de Gram-Schmidt. Nos résultats répondent à des questions vieilles de vingt-cinq ans. Nous donnons l'explication théorique de ce qui était communément observé et accepté : <br /><br /> - l'algorithme de Gram-Schmidt modifié génère un ensemble de vecteurs bien conditionné ;<br /> - l'algorithme de Gram-Schmidt itéré deux fois fabrique un ensemble de vecteurs orthonormé.<br /><br />Ces deux propositions reposent sur l'hypothèse que la matrice de départ est "numériquement non singulière" en un sens qui est clairement défini. D'autre part, quand l'algorithme de Gram-Schmidt est itéré avec un critère de réorthogonalisation, nous proposons un nouveau critère. Nous montrons que l'algorithme obtenu est robuste alors que le critère communément utilisé est mis en défaut dans certains cas. Finalement, nous généralisons des résultats standards sur les normes en terme de valeurs singulières pour l'algorithme de Gram-Schmidt modifié. Ceci nous permet de dériver un schéma de réorthogonalisation a posteriori utilisant une matrice de rang faible. Ces résultats ont plusieurs applications directes. Nous en donnons des exemples avec les méthodes de Krylov pour résoudre des problèmes linéaires avec plusieurs seconds membres.<br /><br />Dans la deuxième partie, nous avons implémenté des variantes de la méthode GMRES pour les arithmétiques réelle et complexe, simple et double précisions. Cette implémentation convient pour des ordinateurs classiques, à mémoire partagée ou distribuée. Le code en résultant satisfait aux critères de qualité des librairies standards et son implémentation est largement détaillée. Pour des besoins de simplicité, flexibilité et efficacité, les solveurs utilisent un mécanisme de reverse communication pour les produits matrice-vecteur, les étapes de préconditionnement et les produits scalaires. Différents schémas d'orthogonalisation sont implémentés pour réduire le coût de calcul des produits scalaires, un point particulièrement important pour l'efficacité des méthodes de Krylov dans un environnement parallèle distribué. Le critère d'arrêt implémenté est basé sur l'erreur inverse normalisée. Les variantes disponibles sont GMRES-DR, seed-GMRES et block-GMRES. Ces codes s'ajoutent aux variantes déjà existantes (GMRES, flexible GMRES et SQMR). Un produit matrice-vecteur avec une décomposition LU est utilisé dans GMRES-DR de telle sorte que le stockage des approximations des vecteurs propres se fasse sur les premiers vecteurs de l'espace de Krylov. Un restart implicite et une étape de préconditionnement implicite ont été implémentés dans seed-GMRES. Nous supprimons ainsi un produit matrice-vecteur et une étape de préconditionnement par second membre et par cycle de GMRES. La version de block-GMRES permet à l'utilisateur de sélectionner différents modes de déflation. Pour terminer, des résultats reliant la norme du résidu de GMRES à la plus petite valeur singulière de l'espace construit par la méthode de Krylov ont été généralisés à la méthode block-GMRES.<br /><br />La troisième partie est consacrée à l'amélioration des techniques standards pour la résolution des systèmes linéaires dans le cadre des problèmes électromagnétiques. Après une présentation approfondie du code, nous étudions l'influence de la non-symétrie sur la convergence de l'algorithme SQMR. Nous étudions aussi le comportement de GMRES-DR sur nos problèmes. Ceci correspond à deux méthodes avec un seul second membre, le reste de cette partie concerne les cas comportant plusieurs seconds membres. Tout d'abord, nous examinons en détail les techniques qui permettent d'adapter les méthodes utilisées pour un second membre unique aux cas comportant plusieurs seconds membres. Par exemple, on peut améliorer la qualité du préconditionneur, avoir une stratégie de solution initiale, grouper les opérations de plusieurs résolutions ou encore paralléliser plusieurs résolutions. Dans le contexte du calcul de surface équivalente radar monostatique, nous avons montré que l'espace des seconds membres du problème continu était de dimension finie. La dimension donnée par notre théorie est proche de celle que nous observons en pratique. Cette propriété nous permet de réduire considérablement le nombre de systèmes linéaires à résoudre. Dans ce contexte, une version de la méthode block-GMRES est donnée. Ensuite, nous abordons certains problèmes spécifiques des méthodes seed-GMRES et block-GMRES pour lesquels nous proposons des solutions. Pour finir, des résultats plus prospectifs sont donnés. Plusieurs stratégies pour extraire et ajouter de l'information spectrale d'un cycle de GMRES à l'autre sont proposées et comparées. Puis nous utilisons le fait que la méthode multipôle rapide est un produit matrice-vecteur inexact dont la précision est réglable. Moins précis est le produit matrice-vecteur, plus rapide il est. Nous montrons comment tirer partie de cette propriété en utilisant un schéma relâché (méthode de Krylov inexacte) ou des itérations emboîtées (flexible GMRES). Enfin, le critère d'arrêt basé sur l'erreur inverse normalisée dans le cadre du calcul d'une surface équivalente radar est remis en question.
|
Page generated in 0.0719 seconds