Parallélisation sur processeur graphique des techniques d'adaptation de maillage basées sur la maximisation de la conformité à une métrique riemannienne

William Bussière

Mémoire de maîtrise (2017)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 5MB •

Résumé

En mécanique des fluides numérique, une manière d'accroitre la précision d'une solution approchée tout en évitant une consommation excessive de ressources informatiques consiste à adapter le maillage au comportement de la solution. Par un processus itératif de résolution-adaptation, la forme et la taille des éléments sont adaptées à la courbure de la solution approchée afin de réduire l'erreur d'interpolation. Avec la croissance en taille des problèmes étudiés en mécanique des fluides, des techniques de parallélisation ont dû être développées pour réduire le temps de calcul des solveurs. Toutefois, si les adaptateurs ne bénéficient pas d'un effort similaire de parallélisation, leur temps de calcul dominera le processus itératif de résolution-adaptation. L'objectif de la présente recherche est de déterminer si les GPU sont en mesure d'accélérer le processus d'adaptation tout en produisant des maillages d'une qualité équivalente aux méthodes actuellement exécutées par le CPU. Par le lemme de Céa, on sait que l'erreur d'approximation est bornée par l'erreur d'interpolation. Produite par un estimateur de l'erreur a posteriori, la fonction métrique spécifie à l'adaptateur la longueur idéale d'une arête en un endroit donné pour une erreur d'interpolation donnée. Des opérations topologiques et géométriques permettent de modifier un maillage initial afin d'uniformiser la conformité de ses éléments à la métrique spécifiée. La présente recherche s'attardera particulièrement aux algorithmes de déplacement de noeuds qui démontrent déjà, en optimisation de maillage, une certaine facilité à être parallélisés sur le GPU. Toutefois, il est attendu que la manipulation des éléments non simpliciaux et que l'échantillonnage précis d'une fonction métrique 3D, caractéristiques nécessaires pour l'adaptation de maillages en mécanique des fluides numérique, causent certains problèmes sur ce type de processeur. Un logiciel d'adaptation de maillage a été développé pour vérifier les hypothèses de cette recherche. Tout le processus d'adaptation est dirigé par la mesure de conformité à la métrique. Sur le CPU, la fonction métrique est échantillonnée par recherche locale dans un maillage de fond. On propose également une nouvelle technique d'échantillonnage pour la métrique sur le GPU sous forme de texture. Une série d'algorithmes de déplacement de noeuds sont implémentés et comparés sur les deux types de processeurs, dont le lissage laplacien, la descente du gradient et Nelder-Mead. Une nouvelle version du lissage laplacien pour l'adaptation de maillage dans une métrique riemannienne est proposée. Également, en plus de l'axe des noeuds, on propose deux nouveaux axes de parallélisation pour les algorithmes de déplacement de noeuds : l'axe des éléments et l'axe des positions. Les détails d'implémentation les plus importants pour porter les algorithmes de déplacement de noeuds sur GPU sont abordés, tels que la traduction des structures de données et la synchronisation des processeurs. Deux technologies pour le développement de noyau de calcul seront comparées : GLSL et CUDA. Les résultats montrent clairement que l'échantillonnage de la fonction métrique par recherche locale n'est pas praticable sur GPU à cause de son grand volume d'instructions et de la divergence qu'elle induit sur les fils d'exécution, contrairement à l'échantillonnage par texture qui démontre d'encourageants taux d'accélération. Bien que l'échantillonnage par texture présente de petits défauts de précision pour les fonctions métriques les plus difficiles, on démontre qu'en augmentant la résolution des textures dans une mesure raisonnable, il est possible de rejoindre la précision du maillage de fond. Quant aux algorithmes de déplacement de noeuds, les algorithmes d'optimisation locale se démarquent du lissage laplacien par leur efficacité, autant pour les maillages tétraédriques qu'hexaédriques. De plus, Nelder-Mead se démarque des algorithmes d'optimisation locale par sa rapidité sur le CPU et le GPU. Les nouveaux espaces de parallélisation explorés sur le GPU ont permis de doubler le taux d'accélération des algorithmes. Par exemple, la version multiaxe de la descente du gradient est 48 à 110 fois plus rapide que sa version séquentielle et la version multiélément de Nelder-Mead est environ 50 fois plus rapide que sa version séquentielle. En somme, le pipeline d'adaptation de maillage optimal retenu échantillonne la métrique dans une texture et déplace les noeuds à l'aide de la version multiélément de Nelder-Mead écrite en CUDA sur le GPU. Malgré la grande portabilité des implémentations GLSL face aux implémentations CUDA, elles présentent de moins bonnes accélérations pour le pipeline optimal et sont souvent instables.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:2702
ORCID
Date du dépôt:
30 oct. 2017 13:54
Dernière modification:
14 oct. 2026 10:40
Citer en APA 7:
Bussière, W. (2017). Parallélisation sur processeur graphique des techniques d'adaptation de maillage basées sur la maximisation de la conformité à une métrique riemannienne [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/2702/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document