16 research outputs found

    Une comparaison de solveurs choisis pour la résolution de systÚmes linéaires couplés FEM/BEM résultant de la discrétisation de problÚmes aéroacoustiques: un environnement expérimental reproductible par programmation lettrée

    Get PDF
    This is an accompanying technical report for the A comparison of selected solvers for coupled FEM/BEM linear systems arising from discretization of aeroacoustic problems Inria research report N° 9412. Based on the principles of literate programming, this technical report aims at providing detailed guidelines for reproducing the experiments of that research report. We use Org mode for literate programming and GNU Guix for software environment reproducibility. Note that part of the software involved is proprietary.Ce document représente un rapport technique complémentaire au rapport de recherche Inria Une comparaison de solveurs choisis pour la résolution de systÚmes linéaires couplés FEM/BEM résultant de la discrétisation de problÚmes aéroacoustiques portant le numéro 9412. Basé sur les principes de la programmation lettrée, ce rapport technique vise à fournir des indications détaillées pour reproduire les expérimentations du rapport de recherche. Nous utilisons Org mode pour faire de la programmation lettrée et GNU Guix pour assurer la reproducibilité de l'environement logiciel expérimental. Notons que certains logiciels sont propriétaires

    Une comparaison de solveurs choisis pour la résolution de systÚmes linéaires couplés FEM/BEM résultant de la discrétisation de problÚmes aéroacoustiques

    Get PDF
    When discretization of an aeroacoustic physical model is based on the application of both the Finite Elements Method (FEM) and the Boundary Elements Method (BEM), this leads to coupled FEM/BEM linear systems combining sparse and dense parts. In this preliminary study, we compare a set of sparse and dense solvers applied on the solution of such type of linear systems with the aim to identify the best performing configurations of existing solvers.Lorsque la discrétisation d'un modÚle aéroacoustique repose sur l'application d'à la fois la méthodes des éléments fini (FEM) et de la méthode des éléments finis de frontiÚre (BEM), celle-ci conduit à des systÚmes linéaires couplés FEM/BEM ayant des parties creuses ainsi que des parties denses. Dans cette étude préliminaire, nous faisons la comparaison d'un ensemble de solveurs creux et denses appliqués à la résolution de ce type de systÚmes linéaires dans le but d'identifier les configurations les plus performantes des solveurs existants

    Comparison of coupled solvers for FEM/BEM linear systems arising from discretization of aeroacoustic problems

    Get PDF
    National audienceWhen discretization of an aeroacoustic physical model is based on the application of both the Finite Elements Method (FEM) and the Boundary Elements Method (BEM), this leads to coupled FEM/BEM linear systems combining sparse and dense parts. In this work, we propose and compare a set of implementation schemes relying on the coupling of the open-source sparse direct solver MUMPS with the proprietary direct solvers from Airbus Central R&T, i.e. the scalapack-like dense solver SPIDO and the hierarchical H-matrix compressed solver HMAT. For this preliminary study, we limit ourselves to a single 24-core computational node

    Application de la compression de rang faible Ă  la solution directe de grands systĂšmes linĂ©aires couplĂ©s creux et denses sur un nƓud de calcul multi-cƓur dans un contexte industriel

    Get PDF
    While hierarchically low-rank compression methods are now commonly available in both dense and sparse direct solvers, their usage for the direct solution of coupled sparse/dense linear systems has been little investigated. The solution of such systems is though central for the simulation of many important physics problems such as the simulation of the propagation of acoustic waves around aircrafts. Indeed, the heterogeneity of the jet flow created by reactors often requires a Finite Element Method (FEM) discretization, leading to a sparse linear system, while it may be reasonable to assume as homogeneous the rest of the space and hence model it with a Boundary Element Method (BEM) discretization, leading to a dense system. In an industrial context, these simulations are often operated on modern multicore workstations with fully-featured linear solvers. Exploiting their low-rank compression techniques is thus very appealing for solving larger coupled sparse/dense systems (hence ensuring a finer solution) on a given multicore workstation, and – of course – possibly do it fast. The standard method performing an efficient coupling of sparse and dense direct solvers is to rely on the Schur complement functionality of the sparse direct solver. However, to the best of our knowledge, modern fully-featured sparse direct solvers offering this functionality return the Schur complement as a non compressed matrix. In this paper, we study the opportunity to process larger systems in spite of this constraint. For that we propose two classes of algorithms, namely multi-solve and multi-factorization, consisting in composing existing parallel sparse and dense methods on well chosen submatrices. An experimental study conducted on a 24 cores machine equipped with 128 GiB of RAM shows that these algorithms, implemented on top of state-of-the-art sparse and dense direct solvers, together with proper low-rank assembly schemes, can respectively process systems of 9 million and 2.5 million total unknowns instead of 1.3 million unknowns with a standard coupling of compressed sparse and dense solvers.Bien que des mĂ©thodes basĂ©es sur la compression de rang faible hiĂ©rarchique soient de nos jours gĂ©nĂ©ralement fournies dans des solveurs direct denses et creux, leur utilisation pour la solution directe des systĂšmes linĂ©aires couplĂ©s creux/denses n'a Ă©tĂ© que peu explorĂ©e. RĂ©soudre ce type de systĂšmes est pourtant une Ă©tape centrale dans la simulation de nombreux problĂšmes en physique tels que la propagation des ondes acoustiques autour des avions. En effet, la hĂ©tĂ©rogĂ©nĂ©itĂ© du flux d'air gĂ©nĂ©rĂ© par des rĂ©acteurs nĂ©cessite souvent une discrĂ©tisation avec la mĂ©thode des Ă©lĂ©ments finis (FEM) conduisant Ă  un systĂšme linĂ©aire creux tandis que le reste de l'espace peut ĂȘtre raisonnablement considĂ©rĂ© comme homogĂšne et donc modĂ©lisĂ© avec la mĂ©thode des Ă©lĂ©ments finis de frontiĂšre (BEM) conduisant Ă  un systĂšme dense. Dans un contexte industriel, ces simulations sont souvent effectuĂ©es sur des machines modernes multi-cƓurs en utilisant des solveurs avancĂ©s. Il y a donc une forte motivation pour exploiter leurs techniques de compression de rang faible pour la solution des systĂšmes couplĂ©s creux/denses plus grands (conduisant Ă  des modĂšles plus prĂ©cis) sur une machine multi-cƓur donnĂ©e et - bien sĂ»r - le faire de façon efficace. La mĂ©thode standard pour effectuer un couplage d'un solveur direct creux avec un solveur direct dense est de se baser sur la fonctionnalitĂ© de complĂ©ment de Schur du solveur direct creux. Cependant, Ă  notre connaissance, les solveurs modernes avancĂ©s proposant cette fonctionnalitĂ© retournent le complĂ©ment de Schur dans une matrice dense non compressĂ©e. Dans cet article, nous Ă©tudions la possibilitĂ© de traiter des systĂšmes plus grands en dĂ©pit de cette contrainte. Pour cela, nous proposons deux classes d'algorithmes, c'est-Ă -dire « multi-solve » et « multi-factorization », qui consistent en la combinaison des mĂ©thodes parallĂšles creuses et denses existantes sur des matrices bien choisies. Une Ă©tude expĂ©rimentale, conduite sur une machine Ă  24 cƓurs Ă©quipĂ©e de 128 Go de RAM, montre que ces algorithmes, implĂ©mentĂ©s par-dessus des solveurs directs creux et denses de l'Ă©tat de l'art et grĂące Ă  un bon assemblage de schĂ©mas de compression de rang faible, peuvent traiter des systĂšmes avec respectivement 9 millions et 2,5 millions d'inconnues au total au lieu de 1,3 millions d'inconnues avec un couplage standard de solveurs creux et denses compressĂ©s

    Étude de la consommation de puissance du processeur et de la mĂ©moire des solveurs couplĂ©s creux/denses

    Get PDF
    In the aeronautical industry, aeroacoustics is used to model the propagation of acoustic waves in air flows enveloping an aircraft in flight. This for instance allows one to simulate the noise produced at ground level by an aircraft during the takeoff and landing phases, in order to validate that the regulatory environmental standards are met. Unlike most other complex physics simulations, the method resorts to solving coupled sparse/dense systems. In a previous study, we proposed two classes of algorithms for solving such large systems on a relatively small workstation (one or a few multicore nodes) based on compression techniques. The objective of this study is to assess whether the positive impact of the proposed algorithms on time to solution and memory usage translates to the energy consumption as well. Because of the nature of the problem, coupling dense and sparse matrices, and the underlying solutions methods, including dense, sparse direct and compression steps, this yields an interesting processor and memory power profile which we aim to analyze in details.Dans l'industrie aĂ©ronautique, l'aĂ©roacoustique est utilisĂ©e pour modĂ©liser la propagation d'ondes acoustiques Ă  travers des courants d'air enveloppant un avion en vol. Par exemple, cela permet de simuler le bruit produit au niveau du sol par un avion pendant les phases de dĂ©collage et d'atterrissage afin de vĂ©rifier si les standards environnementaux rĂ©glementaires sont respectĂ©s. Contrairement Ă  la plupart des simulations de problĂšmes physiques complexes, la mĂ©thode repose sur la solution de systĂšmes couplĂ©s creux/denses. Dans une prĂ©cĂ©dente Ă©tude, nous avons proposĂ© deux classes d'algorithmes pour rĂ©soudre ce type de grands systĂšmes linĂ©aires sur une machine relativement petite (un ou peu de nƓuds multi-cƓurs) basĂ©s sur des techniques de compression. L'objectif de cette Ă©tude est de dĂ©terminer si l'impact positif de ces algorithmes sur l'utilisation de la mĂ©moire se traduit Ă©galement dans la consommation Ă©nergĂ©tique. Vu la nature du problĂšme, le couplage de matrices creuses et denses ainsi que les mĂ©thodes de rĂ©solution sous-jacentes, y compris les Ă©tapes de compression creuse et dense, cela conduit Ă  un profil de consommation de puissance du processeur et de la mĂ©moire trĂšs intĂ©ressant que nous avons l'intention d'analyser en dĂ©tails

    Guix-HPC Activity Report 2020-2021: Reproducible software deployment for high-performance computing

    Get PDF
    Guix-HPC is a collaborative effort to bring reproducible software deployment to scientific workflows and high-performance computing (HPC). Guix-HPC builds upon the GNU Guix software deployment tool and aims to make it a better tool for HPC practitioners and scientists concerned with reproducible research. This report highlights key achievements of Guix-HPC between our previous report a year ago and today, February 2022. This report highlights developments on GNU Guix proper, but also downstream on Guix-Jupyter, the Guix Workflow Language, upstream with Software Heritage integration, as well as experience reports on end-to-end reproducible research article authoring pipelines

    Fast solvers for high-frequency aeroacoustics

    No full text
    In the aeronautical industry, aeroacoustics is used to model the propagation of acoustic waves in air flows enveloping an aircraft in flight. One can thus simulate the noise produced at ground level by an aircraft during the takeoff and landing phases, in order to validate that the regulatory environmental standards are met and support the design of future planes. Unlike most other complex physics simulations, the method resorts to solving coupled sparse/dense systems. In order to produce a result that is physically realistic, the number of unknowns in the system to solve can be extremely important, which makes its treatment a computational challenge. In this work, we focus on the design and evaluation of algorithms for solving large linear systems of this kind. On the one hand, we propose algorithms using the existing Application Program Interface (API) of fully-featured and well-optimized sparse and dense direct solvers. Thanks to these algorithms, we can get around major shortcomings of a straightforward usage the solvers and fully benefit from their advanced features such as numerical compression, out-of-core computation and distributed memory parallelism. On the other hand, we investigate an alternative solver API relying on the coupling of task-based direct solvers built on top of the same runtime. A custom API allows for a better composability and an easier data exchange between the solvers leading to a more efficient usage of computing resources. While introducing such substantial changes into fully-featured community-driven solvers can only be a long-time work due to their complex codebase (several hundred thousands lines of code), we were able to implement a proof-of-concept of this approach within a non fully-featured prototype. Beyond the main contribution, we put a strong emphasis on the reproducibility of our work. To this end, we explore the principles of literate programming and software tools for ensuring the reproducibility of both experimental environments and numerical experiments themselves across different machines and extended periods of time.Dans l’industrie aĂ©ronautique, l’aĂ©roacoustique est utilisĂ©e pour modĂ©liser la propagation d’ondes sonores dans les flux d’air enveloppant un avion en vol. Il est alors possible de simuler le bruit produit par un avion au niveau du sol lors du dĂ©collage et de l’atterrissage afin d’assurer le respect des normes environnementales et de permettre la conception de futurs modĂšles d’avion. Contrairement Ă  la plupart des autres simulations complexes en physique, la mĂ©thode consiste en la rĂ©solution de systĂšmes linĂ©aires couplĂ©s creux/denses. Pour produire un rĂ©sultat rĂ©aliste, le nombre d’inconnues dans le systĂšme peut ĂȘtre extrĂȘmement important ce qui fait de sa rĂ©solution un dĂ©fi de taille. Dans ce travail, nous nous focalisons sur la conception et l’évaluation d’algorithmes pour rĂ©soudre de grands systĂšmes linĂ©aires de ce genre. D’un cĂŽtĂ©, nous proposons des algorithmes utilisant l’interface de programmation (API) existante de solveurs directs creux et denses riches en fonctionnalitĂ©s et optimisĂ©s. GrĂące Ă  ces algorithmes, nous arrivons Ă  contourner les dĂ©fauts majeurs d’un usage basique de ces solveurs et profiter pleinement de leurs fonctionnalitĂ©s avancĂ©es telles que la compression numĂ©rique, le calcul out-of-core et le parallĂ©lisme en mĂ©moire distribuĂ©e. D’un autre cĂŽtĂ©, nous Ă©valuons une API de solveur alternative qui s’appuie sur un couplage de solveurs directs Ă  base de tĂąches utilisant le mĂȘme moteur d’exĂ©cution. Une API personnalisĂ©e permet d’amĂ©liorer la composabilitĂ© et de simplifier l’échange de donnĂ©es entre les solveurs pour une utilisation plus efficace de ressources de calcul. Tandis que l’introduction de ces changements substantiels dans des solveurs aux fonctionnalitĂ©s avancĂ©s et maintenus par la communautĂ© ne peut se faire qu’à long terme Ă  cause de la complexitĂ© de leur code source (quelques centaines de milliers de ligne de code), nous avons pu implĂ©menter une preuve de concept de cette approche dans un prototype rĂ©duit. Outre la contribution principale, nous avons consacrĂ© un important effort Ă  la reproductibilitĂ© de notre travail. À cette fin, nous avons explorĂ© les principes de la programmation lettrĂ©e ainsi que les outils logiciels associĂ©s pour garantir la reproductibilitĂ© des environnements expĂ©rimentaux et des expĂ©riences numĂ©riques elles-mĂȘmes sur diffĂ©rentes machines et sur des pĂ©riodes de temps Ă©tendues

    Fast solvers for high-frequency aeroacoustics

    No full text
    In the aeronautical industry, aeroacoustics is used to model the propagation of acoustic waves in air flows enveloping an aircraft in flight. One can thus simulate the noise produced at ground level by an aircraft during the takeoff and landing phases, in order to validate that the regulatory environmental standards are met and support the design of future planes. Unlike most other complex physics simulations, the method resorts to solving coupled sparse/dense systems. In order to produce a result that is physically realistic, the number of unknowns in the system to solve can be extremely important, which makes its treatment a computational challenge. In this work, we focus on the design and evaluation of algorithms for solving large linear systems of this kind. On the one hand, we propose algorithms using the existing Application Program Interface (API) of fully-featured and well-optimized sparse and dense direct solvers. Thanks to these algorithms, we can get around major shortcomings of a straightforward usage the solvers and fully benefit from their advanced features such as numerical compression, out-of-core computation and distributed memory parallelism. On the other hand, we investigate an alternative solver API relying on the coupling of task-based direct solvers built on top of the same runtime. A custom API allows for a better composability and an easier data exchange between the solvers leading to a more efficient usage of computing resources. While introducing such substantial changes into fully-featured community-driven solvers can only be a long-time work due to their complex codebase (several hundred thousands lines of code), we were able to implement a proof-of-concept of this approach within a non fully-featured prototype. Beyond the main contribution, we put a strong emphasis on the reproducibility of our work. To this end, we explore the principles of literate programming and software tools for ensuring the reproducibility of both experimental environments and numerical experiments themselves across different machines and extended periods of time.Dans l’industrie aĂ©ronautique, l’aĂ©roacoustique est utilisĂ©e pour modĂ©liser la propagation d’ondes sonores dans les flux d’air enveloppant un avion en vol. Il est alors possible de simuler le bruit produit par un avion au niveau du sol lors du dĂ©collage et de l’atterrissage afin d’assurer le respect des normes environnementales et de permettre la conception de futurs modĂšles d’avion. Contrairement Ă  la plupart des autres simulations complexes en physique, la mĂ©thode consiste en la rĂ©solution de systĂšmes linĂ©aires couplĂ©s creux/denses. Pour produire un rĂ©sultat rĂ©aliste, le nombre d’inconnues dans le systĂšme peut ĂȘtre extrĂȘmement important ce qui fait de sa rĂ©solution un dĂ©fi de taille. Dans ce travail, nous nous focalisons sur la conception et l’évaluation d’algorithmes pour rĂ©soudre de grands systĂšmes linĂ©aires de ce genre. D’un cĂŽtĂ©, nous proposons des algorithmes utilisant l’interface de programmation (API) existante de solveurs directs creux et denses riches en fonctionnalitĂ©s et optimisĂ©s. GrĂące Ă  ces algorithmes, nous arrivons Ă  contourner les dĂ©fauts majeurs d’un usage basique de ces solveurs et profiter pleinement de leurs fonctionnalitĂ©s avancĂ©es telles que la compression numĂ©rique, le calcul out-of-core et le parallĂ©lisme en mĂ©moire distribuĂ©e. D’un autre cĂŽtĂ©, nous Ă©valuons une API de solveur alternative qui s’appuie sur un couplage de solveurs directs Ă  base de tĂąches utilisant le mĂȘme moteur d’exĂ©cution. Une API personnalisĂ©e permet d’amĂ©liorer la composabilitĂ© et de simplifier l’échange de donnĂ©es entre les solveurs pour une utilisation plus efficace de ressources de calcul. Tandis que l’introduction de ces changements substantiels dans des solveurs aux fonctionnalitĂ©s avancĂ©s et maintenus par la communautĂ© ne peut se faire qu’à long terme Ă  cause de la complexitĂ© de leur code source (quelques centaines de milliers de ligne de code), nous avons pu implĂ©menter une preuve de concept de cette approche dans un prototype rĂ©duit. Outre la contribution principale, nous avons consacrĂ© un important effort Ă  la reproductibilitĂ© de notre travail. À cette fin, nous avons explorĂ© les principes de la programmation lettrĂ©e ainsi que les outils logiciels associĂ©s pour garantir la reproductibilitĂ© des environnements expĂ©rimentaux et des expĂ©riences numĂ©riques elles-mĂȘmes sur diffĂ©rentes machines et sur des pĂ©riodes de temps Ă©tendues

    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

    No full text
    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

    Application de la compression de rang faible Ă  la solution directe de grands systĂšmes linĂ©aires couplĂ©s creux et denses sur un nƓud de calcul multi-cƓur dans un contexte industriel

    Get PDF
    International audienceWhile hierarchically low-rank compression methods are now commonly available in both dense and sparse direct solvers, their usage for the direct solution of coupled sparse/dense linear systems has been little investigated. The solution of such systems is though central for the simulation of many important physics problems such as the simulation of the propagation of acoustic waves around aircrafts. Indeed, the heterogeneity of the jet flow created by reactors often requires a Finite Element Method (FEM) discretization, leading to a sparse linear system, while it may be reasonable to assume as homogeneous the rest of the space and hence model it with a Boundary Element Method (BEM) discretization, leading to a dense system. In an industrial context, these simulations are often operated on modern multicore workstations with fully-featured linear solvers. Exploiting their low-rank compression techniques is thus very appealing for solving larger coupled sparse/dense systems (hence ensuring a finer solution) on a given multicore workstation, and – of course – possibly do it fast. The standard method performing an efficient coupling of sparse and dense direct solvers is to rely on the Schur complement functionality of the sparse direct solver. However, to the best of our knowledge, modern fully-featured sparse direct solvers offering this functionality return the Schur complement as a non compressed matrix. In this paper, we study the opportunity to process larger systems in spite of this constraint. For that we propose two classes of algorithms, namely multi-solve and multi-factorization, consisting in composing existing parallel sparse and dense methods on well chosen submatrices. An experimental study conducted on a 24 cores machine equipped with 128 GiB of RAM shows that these algorithms, implemented on top of state-of-the-art sparse and dense direct solvers, together with proper low-rank assembly schemes, can respectively process systems of 9 million and 2.5 million total unknowns instead of 1.3 million unknowns with a standard coupling of compressed sparse and dense solvers.Bien que des mĂ©thodes basĂ©es sur la compression de rang faible hiĂ©rarchique soient de nos jours gĂ©nĂ©ralement fournies dans des solveurs direct denses et creux, leur utilisation pour la solution directe des systĂšmes linĂ©aires couplĂ©s creux/denses n'a Ă©tĂ© que peu explorĂ©e. RĂ©soudre ce type de systĂšmes est pourtant une Ă©tape centrale dans la simulation de nombreux problĂšmes en physique tels que la propagation des ondes acoustiques autour des avions. En effet, la hĂ©tĂ©rogĂ©nĂ©itĂ© du flux d'air gĂ©nĂ©rĂ© par des rĂ©acteurs nĂ©cessite souvent une discrĂ©tisation avec la mĂ©thode des Ă©lĂ©ments finis (FEM) conduisant Ă  un systĂšme linĂ©aire creux tandis que le reste de l'espace peut ĂȘtre raisonnablement considĂ©rĂ© comme homogĂšne et donc modĂ©lisĂ© avec la mĂ©thode des Ă©lĂ©ments finis de frontiĂšre (BEM) conduisant Ă  un systĂšme dense. Dans un contexte industriel, ces simulations sont souvent effectuĂ©es sur des machines modernes multi-cƓurs en utilisant des solveurs avancĂ©s. Il y a donc une forte motivation pour exploiter leurs techniques de compression de rang faible pour la solution des systĂšmes couplĂ©s creux/denses plus grands (conduisant Ă  des modĂšles plus prĂ©cis) sur une machine multi-cƓur donnĂ©e et - bien sĂ»r - le faire de façon efficace. La mĂ©thode standard pour effectuer un couplage d'un solveur direct creux avec un solveur direct dense est de se baser sur la fonctionnalitĂ© de complĂ©ment de Schur du solveur direct creux. Cependant, Ă  notre connaissance, les solveurs modernes avancĂ©s proposant cette fonctionnalitĂ© retournent le complĂ©ment de Schur dans une matrice dense non compressĂ©e. Dans cet article, nous Ă©tudions la possibilitĂ© de traiter des systĂšmes plus grands en dĂ©pit de cette contrainte. Pour cela, nous proposons deux classes d'algorithmes, c'est-Ă -dire « multi-solve » et « multi-factorization », qui consistent en la combinaison des mĂ©thodes parallĂšles creuses et denses existantes sur des matrices bien choisies. Une Ă©tude expĂ©rimentale, conduite sur une machine Ă  24 cƓurs Ă©quipĂ©e de 128 Go de RAM, montre que ces algorithmes, implĂ©mentĂ©s par-dessus des solveurs directs creux et denses de l'Ă©tat de l'art et grĂące Ă  un bon assemblage de schĂ©mas de compression de rang faible, peuvent traiter des systĂšmes avec respectivement 9 millions et 2,5 millions d'inconnues au total au lieu de 1,3 millions d'inconnues avec un couplage standard de solveurs creux et denses compressĂ©s
    corecore