Tiled Algorithms for Efficient Task-Parallel H-Matrix Solvers
Algorithmes parallèles pour améliorer l’efficacité des solveurs utilisant des matrices hiérarchiques
Résumé
In this paper, we describe and evaluate an extension of the Chameleon library to operate with hierarchical matrices (H-Matrices) and hierarchical arithmetic (H-Arithmetic), producing efficient solvers for linear systems arising in Boundary Element Methods (BEM). Our approach builds upon an open-source H-Matrices library from Airbus, named Hmat-oss, that collects sequential numerical kernels for both hierarchical and low-rank structures; the tiled algorithms and task-parallel decompositions available in Chameleon for the solution of linear systems; and
the StarPU runtime system to orchestrate an efficient task-parallel (multi-threaded) execution on a multicore architecture.
Using an application producing matrices with features close to real industrial applications, we present shared-memory results that demonstrate a fair level of performance, close to (and sometimes better than) the one offered by a pure H-Matrix approach, as proposed by Airbus Hmat proprietary (and non open-source) library. Hence, this combination Chameleon + Hmat-oss proposes the most efficient fully open-source software stack to solve dense compressible linear systems on shared memory architectures (distributed memory is under development).
Algorithmes parallèles pour améliorer l’efficacité dessolveurs utilisant des matrices hiérarchiquesRésumé :Dans cet article, nous présentons et évaluons les performances d’une extension de la bibliothèque Chameleon qui utilise des matrices hiérarchiques et des opérations en arithmétique hiérarchique afin de fournir une résolution efficace des systèmes linéaires apparaissant dans le cadre de la méthode des éléments finis de frontière (BEM). Notre approche se repose sur Hmat-oss, une bibliothèque de matrices hiérarchiques open-source fournie par Airbus qui propose des noyaux de calcul séquentiels pour les matrices hiérarchiques et de rang faible. Elle repose également sur les algorithmes à base de tuiles et le parallélisme par tâches disponible dans Chameleon pour la résolution de systèmes linéaires et sur le support d’exécution StarPU qui se charge d’ordonnancer efficacement les tâches dans un contexte multicœur.Afin de valider nos résultats, nous utilisons une application qui fournit des matrices similaires à celles obtenues dans un contexte industriel. Nous présentons des résultats en mémoire partagée qui présentent un très bon niveau de performance, proche (et parfois meilleur) que celui obtenu avec une approche H-matrice classique, comme proposée dans la bibliothèque propriétaire Hmat d’Airbus. Cette combinaison entre Chameleon et Hmat-ossest à ce jour la plus efficace implémentation open-source qui permet de compresser des systèmes linéaires en mémoire partagée (les développements étant en cours dans la version distribuée).
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...