Factorisation incomplète et résolution de systèmes triangulaires pour des machines exploitant un parallélisme à grain fin - TEL - Thèses en ligne
Thèse Année : 2023

Incomplete factorization and solution of triangular systems for fine-grained parallelism computers

Factorisation incomplète et résolution de systèmes triangulaires pour des machines exploitant un parallélisme à grain fin

Résumé

How to calculate efficiently with processors integrating a large number of cores, a complex memory hierarchy, and sophisticated computational units? This evolution of processor architecture introduces three levels of parallelism: multithreading (several cores simultaneously), SIMD (several data streams simultaneously), and hyperthreading (several instruction streams simultaneously). In this thesis, we will focus on SIMD (Single Instruction stream Multiple Data stream) parallelization applied to sparse triangular systems resulting from incomplete factorization methods of large sparse linear systems arising from the discretization of systems of partial differential equations (in particular, those coming from IFPEN simulators). There are different methods of incomplete factorization: the simplest ones are without fill-in (ILU(0)), i.e., no non-zero coefficient is added in the factors. These methods are used as preconditioners for iterative solvers based on Krylov subspace methods. In this context, the ability of the preconditioner to accelerate the convergence of the Krylov solver is essential. Many studies have focused on the reordering of equations. In particular, the effect that methods like Reverse Cuthill-McKee (RCM), Minimum Degree, Nested Dissection, Multi-Coloriage can have on the efficiency of incomplete factorization ILU(0). The problem is that the methods which allow for the desired fine-grained parallelism (Multi-Coloriage) tend to reduce the efficiency of the preconditioner. The original contribution of the thesis is to propose reordering methods based on graph coloring that allow for the fine-grained parallelism, adapted to the new architectures using SIMD, and an efficient convergence of the Krylov solver. We have proposed a method that combines RCM reordering with a graph coloring (ColorRCM). This method allows for good convergence of the Krylov solver with respect to the natural order and a convergence significantly faster than the one obtained with a classical graph coloring. Furthermore, we exploited the sparse structure of the matrix from the linear system for solving triangular systems with a storage format allowing for the use of SIMD instructions. With this format, our solution for triangular systems compared to the solver for triangular systems proposed by the Intel MKL 21.4 library shows computational times at least three times lower. In the second part of the thesis, we discuss synchronization and reduction for parallel Krylov methods in shared memory. We present a synchronization barrier (Extended Butterfly) in shared memory with a complexity of O(log2(P)) for any P (P is the number of cores). Our tests show that this barrier is comparable to a Butterfly or Dissemination barrier and has lower latency than the OpenMP barriers with the Intel 21.4 and GCC 11.1 compilers. The barrier is then used as support for reduction operations, and the atomicity of SIMD writes is exploited to exchange reduction values between cores without any additional transfer compared to the Extended Butterfly barrier. The proposed reduction is up to four times faster than OpenMP reductions with GCC 11.1 on the milan processor and up to six times faster than OpenMP reductions with Intel 21.4 on the knl processor.
Comment calculer efficacement avec des processeurs intégrant un grand nombre de coeurs, une hiérarchie mémoire complexe et des unités de calcul avec plusieurs niveaux de parallélisme ? Cette évolution des moyens de calcul introduit trois niveaux de parallélisme : multi-coeur : plusieurs unités de calcul indépendantes partagent une partie de la hiérarchie mémoire dont la mémoire principale, SIMD (Single Instruction stream Multiple Data stream) : chaque unité de calcul via son jeu d’instruction a la capacité des traiter des valeurs par paquets plutôt qu’individuellement et hyperthreading : chaque unité de calcul peut exécuter plusieurs flots d’instructions simultanément. Dans le cadre de cette thèse, nous allons nous concentrer sur la parallélisation SIMD appliquée à la résolution de systèmes triangulaires résultants des méthodes de factorisations incomplètes de grands systèmes linéaires creux issus de la discrétisation de systèmes d’équations aux dérivées partielles (en particulier ceux issus des simulateurs IFPEN). Il existe différentes méthodes de factorisations incomplètes : les plus simples sont sans remplissage (ILU(0)), i.e., qu’aucun coefficient non nul n’est ajouté dans les facteurs. Ces méthodes sont utilisées comme préconditionneurs des solveurs itératifs basés sur les méthodes de sous-espaces Krylov. Dans ce cadre la capacité du préconditionneur à accélérer la convergence du solveur de Krylov, est primordiale. De nombreuses études se sont intéressées à la renumérotation des équations et des inconnues. En particulier à l’effet que des méthodes comme Reverse Cuthill-McKee (RCM), Minimum Degree, Nested Dissection, Multi-Coloriage peut avoir sur l’efficacité de la factorisation incomplète ILU(0). Le problème est que les méthodes qui permettent d’avoir le parallélisme à grain fin recherché (Multi-Coloriage) ont tendance à réduire l’efficacité du préconditionneur. L’apport original de la thèse est de proposer une méthode de renumérotation basée sur du coloriage de graphe qui permet d’obtenir le parallélisme à grain fin adapté aux nouvelles architectures exploitant le SIMD et une convergence du solveur de Krylov efficace. Nous avons proposé une méthode qui combine une renumérotation avec RCM avec un coloriage de graphe (ColorRCM). Cette méthode permet d’avoir une convergence du solveur de Krylov performante par rapport à l’ordre naturel et une convergence significativement plus rapide que celle obtenue avec un coloriage de graphe classique. Ensuite, nous avons exploité la structure creuse de la matrice du système linéaire pour la résolution des systèmes triangulaires avec un format de stockage permettant d’utiliser des instructions SIMD. Avec ce format notre résolution des systèmes triangulaires comparée au solveur de systèmes triangulaires proposé par la librairie Intel MKL 21.4 montre des temps de calculs au moins 3 fois inférieures. Dans la deuxième partie de la thèse, nous abordons les synchronisations et les réductions pour les méthodes de Krylov parallèles en mémoire partagée. Nous avons proposé une barrière de synchronisation Extended Butterfly en mémoire partagée avec une complexité de O(log2(P)) quelque soit P (P est le nombre de coeurs de calcul). Nos tests montrent que cette barrière Extended Butterfly est comparable à une barrière Butterfly ou Dissemination et a une latence plus faible que les barrières OpenMP avec les compilateurs Intel 21.4 et GCC 11.1. Cette barrière est ensuite utilisée comme support pour les opérations de réductions et l’on exploite l’atomicité des écritures SIMD pour échanger des valeurs de réductions entre les coeurs sans transfert additionnel par rapport à la barrière Extended Butterfly. La réduction proposée est jusqu’à 4 fois plus rapides que les réductions OpenMP avec GCC 11.1 sur le processeur milan et jusqu’à 6 fois plus rapides que les réductions OpenMP avec Intel 21.4 sur le processeur knl.
Fichier principal
Vignette du fichier
MOHAMED_EL_MAAROUF_ABOUL-KARIM_2023.pdf (9.53 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04429547 , version 1 (31-01-2024)

Identifiants

  • HAL Id : tel-04429547 , version 1

Citer

Aboul-Karim Mohamed El Maarouf. Factorisation incomplète et résolution de systèmes triangulaires pour des machines exploitant un parallélisme à grain fin. Autre [cs.OH]. Université de Bordeaux, 2023. Français. ⟨NNT : 2023BORD0051⟩. ⟨tel-04429547⟩
78 Consultations
51 Téléchargements

Partager

More