Parallel distributed out-of-core coupled solvers for large sparse/dense FEM/BEM linear systems implementing low-rank compression - Rapports de recherche et Technique de l'Inria Accéder directement au contenu
Rapport Année : 2024

Parallel distributed out-of-core coupled solvers for large sparse/dense FEM/BEM linear systems implementing low-rank compression

Solveurs couplés parallèles distribués et out-of-core pour de larges systèmes linéaires FEM/BEM creux/denses implémentant la compression de rang faible

Emmanuel Agullo
Guillaume Sylvand

Résumé

Thanks to out-of-core computation and low-rank compression, sparse and dense direct solvers allow for solving ever larger linear systems. On the one hand, out-of-core techniques help to reduce the memory footprint of the computation by resorting to an extra storage, such as a hard or a solid state drive, in addition to RAM, also referred to as the core memory. The idea is to temporarily move out from the core memory the data that is not being used for the ongoing computation. On the other hand, low-rank matrices represent a way of storing matrices in a compressed form. Compression then helps to reduce not only the memory consumption of a linear system solution but also its computation time. Beyond the scope of a single multi-core shared-memory machine, parallel processing on multiple machines then may allow for solving even larger linear systems by distributing the load of data and computations among the machines. However, application of these techniques for solving coupled sparse/dense linear systems has been little investigated. In the aeronautic industry, such systems arise from acoustic simulations. Existing methods for solving sparse/dense linear systems we have found in the litterature resort to distributed-memory parallelism in order to cope with the cost of the solution process in terms of computation time and memory usage but do not implement numerical compression or out-of-core computation. In a previous work (available as the Inria Research report No. 9453), we introduced two classes of algorithms relying on low-rank compression, namely the multi-solve and the multi-factorization algorithms, for solving this kind of systems. Compared to a reference approach from the state-of-the-art, these algorithms allowed us to process significantly larger coupled systems within a single multi-core machine. However, to the best of our knowledge, none of the existing methods benefit from out-of-core computation, combine it with numerical compression or use these techniques in a distributed-memory environment. In this report, we propose a design of the multi-solve and the multi-factorization algorithms that, in addition to low-rank compression, implements out-of-core computation and distributed-memory parallelism with the aim to process even larger coupled sparse/dense systems. An experimental study conducted on up to 16 computation nodes, each having 48 cores and 180 GB of RAM, shows that the proposed algorithms, implemented on top of state-of-the-art sparse and dense direct solvers can respectively process systems of 42 million and 7 million total unknowns instead of 6 million unknowns with a standard sparse/dense solver coupling.
Des solveurs creux et denses modernes et bien équipés implémentent des fonctionnalités telles que le calcul out-of-core et la compression de rang faible afin de permettre le traitement de systèmes linéaires creux et denses toujours plus grands. D'un côté, grâce aux techniques out-of-core, l'on peut réduire l'empreinte mémoire du calcul en ayant recours à un support de stockage supplémentaire en plus de la mémoire vive que l'on appelle parfois aussi « the core memory » en anglais. L'idée est de déplacer temporairement de la mémoire vive (« out of the core memory ») les données qui ne sont pas indispensables au calcul en cours. D'un autre côté, les matrices de rang faible représentent un moyen de stockage de matrice sous une forme compressée. C'est une autre possibilité de réduire non seulement la consommation mémoire d'une résolution de système linéaire mais aussi son temps de calcul. Au-delà d'une seule machine multi-cœur à mémoire partagée, le traitement en parallèle sur plusieurs machines permettrait de résoudre des systèmes linéaires encore plus grands en distribuant la charge de donnée et de calculs parmis les différentes machines. Cependant, l'application de ces techniques pour résoudre des systèms linéaires couplés creux/denses n'a été que peu explorée. L'on retrouve ce genre de systèmes dans le contexte des simulations aéroacoustiques dans l'industrie aéronautique. Les approches de résolution existantes que nous avons trouvées dans la littérature reposent sur le parallélisme en mémoire distribuée pour réduire le coût du processus de résolution en termes de temps de calcul et d'utilisation de la mémoire mais elles n'implémentent ni la compression numérique ni le calcul out-of-core. Dans un précédent travail (disponible en tant que rapport de recherche Inria No. 9453), nous avons introduit deux classes d'algorithmes faisant appel à des techniques de compression de rang faible, concrètement les algorithmes multi-solve et multi-factorisation, pour résoudre ce type de systèmes linéaires. Comparés à un couplage de solveurs de référence de l'état de l'art, ces algorithmes nous ont permis de traiter des systèmes couplés significativement plus grands sur une seule machine multi-cœurs. Dans ce rapport, nous proposons des algorithmes multi-solve et multi-factorisation qui, en plus de la compression de rang faible, implémentent les techniques out-of-core ainsi que le parallélisme en mémoire distribuée dans le but de pouvoir traiter des systèmes couplés encore plus grands. Une étude expérimentale effectuée sur jusqu'à 16 nœuds de calcul, chacun équipé de 48 cœurs et 180 Go de mémoire vive, montre que les algorithmes proposés, implémentés par-dessus des solveurs directs creux et denses de l'état de l'art, sont capables de traiter des systèmes respectivement de 42 millions et 7 millions d'inconnues au total au lieu de 6 millions avec un couplage de solveurs creux et denses standard.
Fichier principal
Vignette du fichier
RR-9550.pdf (9.34 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04618349 , version 1 (21-06-2024)

Licence

Identifiants

  • HAL Id : hal-04618349 , version 1

Citer

Emmanuel Agullo, Marek Felšöci, Guillaume Sylvand. Parallel distributed out-of-core coupled solvers for large sparse/dense FEM/BEM linear systems implementing low-rank compression. RR-9550, Inria Bordeaux - Sud-Ouest. 2024, pp.39. ⟨hal-04618349⟩
0 Consultations
0 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More