Jean-Christophe Rioual : April 23, 2002
Solving linear systems for semiconductor device simulations on parallel distributed computers
Jean-Christophe RIOUAL
Tuesday April 23, 2.30 p.m. at CERFACS
Jury
- I. G. Graham (Rapporteur)
- M. Vidrascu (Rapporteur)
- P. Amestoy (Examinateur)
- I. S. Duff (Examinateur)
- L. Giraud (Examinateur)
- A. Marrocco (Examinateur)
- G. Meurant (Examinateur)
Résumé
Dans cette these, nous etudions differentes implementations de la resolution des systemes lineaires dans le cadre de la simulation 2D de semiconducteurs sur des machines paralleles distribuees.Les semiconducteurs sont modelises en utilisant les equations de derive-diffusion avec le potentiel electrostatique et les quasi-niveaux de Fermi comme inconnues.
L'objectif principal de ce travail est de developper a partir d'un code sequentiel preexistant une version parallele dans un environnement a memoire distribuee en utilisant MPI comme bibliotheque d'echange de messages.
La principale difficulte reside dans l'implementation efficace de solveurs lineaires paralleles. Les systemes lineaires a resoudre sont creux et peuvent etre symetriques defini positifs ou bien non symetriques. Afin de resoudre ces systemes, nous etudions des methodes directes paralleles ainsi que des methodes de decomposition de domaines sans recouvrement.
Nous utilisons intensivement le logiciel MUMPS qui est une implementation parallele de la methode multifrontale pour la factorisation des systemes lineaires creux. Ce logiciel peut-etre utilise comme boite noire ou bien comme outil pour l'implementation de methodes de sous-structuration iterative ou directe.
Dans le cas iteratif nous utilisons des solveurs de Krylov preconditionnes pour resoudre les systemes de Schur. Plusieurs prconditionneurs sont testes, y compris des preconditionneurs deux-niveaux comme le preconditionneur ``Balanced Neumann-Neumann'' dans le cas SPD.
Nous testons egalement plusieurs methodes de scaling pour le systeme de Schur.
Nous presentons une comparaison en termes de performance des methodes directes et paralleles sur des problemes issus d'applications.
Pour conclure, nous presentons une etude preliminaire d'un preconditionneur deux niveaux qui exploitent des proprietes spectrales du systeme preconditionne.
Abstract
In this thesis, we study the parallel distributed implementations of the linear solvers for the systems involved in 2D semiconductor device modelling. The semiconductor devices are modeled using the drift diffusion equations with the electrostatic potential and the quasi-Fermi levels as unknowns.The objective of this work is to develop, based on an existing sequential code, a complete parallel code for a distributed memory environment with MPI as message-passing library.
The main difficulty consists in the efficient implementation of suitable linear solvers.
In this respect we investigate both parallel direct methods and non-overlapping domain decomposition techniques.
As a central software tool we consider MUMPS that is a parallel distributed implementation of the multifrontal technique for sparse matrices. This software is used either as a black box or as a building box for implementing direct or iterative substructuring approaches.
In the iterative case, we consider preconditioned Krylov methods for solving the Schur complement systems. Various preconditioners including multi-level techniques are considered as the Balanced Neumann-Neumann preconditioner for the SPD systems.
We also investigate several scaling strategies for the Schur complement system.
We report on comparative parallel performance of direct and iterative solvers on real test problems.
Finally, we present a preliminary study of a two-level preconditioner that exploits some spectral information of the preconditioned systems.



