Comparaison de moteurs exécutifs pour la parallélisation de solveurs linéaires itératifs
Résumé
Dans le domaine de la simulation de réservoir, un grand système linéaire creux doit être résolu à chaque itération d'une méthode de Newton, ce qui est très consommateur en temps. Des mé-thodes numériques itératives sont utilisées pour résoudre ces équations. Elles rejouent la même séquence d'opérations jusqu'à converger vers la solution. Pour des systèmes non-structurés comme ceux que nous rencontrons, les méthodes itératives de Krylov comme le BiCGStab sont très utilisées. La parallélisation que nous proposons repose ici sur un modèle à base de tâches avec dépendances de données. Nous expérimentons notre implémentation au dessus de plu-sieurs moteurs exécutifs tels que : OpenMP, OmpSs, X-Kaapi et HARTS. Nous mettons en avant l'impact, parfois néfaste, que peut avoir la gestion des tâches. Un surcoût trop élevé peut freiner l'exécution, mais également un mauvais placement de tâche sur une architecture hiérarchique. La répétition à chaque itération de ces éléments peuvent impacter l'exécution.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...