thesis

Algorithmes sur GPU pour la simulation numérique en mécanique des fluides

Defense date:

Jan. 1, 2012

Edit

Institution:

Paris 13

Disciplines:

Directors:

Abstract EN:

Numerical simulations in fluid mechanics require tremendous computational power ; GPU computing is one of the newest approaches to accelerate such simulations. On one hand, this thesis studies the case of fluid mechanics algorithms on structured meshes. The mesh structuration naturally brings well suited memory arrangements and allows to reach guidelines when using GPUs for numerical simulations. On the other hand, we examine the case of fluid mechanics on unstructured meshes with the help of three different algorithmic strategies. The first of these technique is a reorganisation to produce consecutive data accesses, but at the cost of expensive data copies, both in time and in memory. The second technique, a cell partitioning approach, is developed and allows to extensively use modern GPUs’ cache memories. The third technique consists on a generic refinement. The initial mesh is made of coarse elements refined in the exact same way in order to produce consecutive memory accesses. This approach brings significant performance improvements for fluid mechanics simulations on unstructured meshes.

Abstract FR:

La simulation numérique en mécanique des fluides nécessite souvent une importante puissance de calcul. Pour accélérer ces simulations l’utilisation de GPU est envisagée. Cette thèse s’intéresse tout d’abord à l’étude d’algorithmes de mécanique des fluides numérique en maillage structuré. La structuration du maillage amène un rangement mémoire naturellement convenable pour effectuer des simulations sur GPU. Ceci permet de dégager des principes d’utilisation sans avoir à considérer le bruit occasionné par la définition d’une structure de données spécifique. Par la suite nous nous concentrons sur les algorithmes de mécanique des fluides numériques sur maillage non structuré et trois stratégies algorithmiques sont présentées. La première de ces techniques est une réorganisation visant à rendre les données consécutives en mémoire, au prix d’une copie des données coûteuse à la fois en temps et en mémoire. Une deuxième technique résultant en un partitionnement fin du domaine de calcul est développée, elle permet d’utiliser les mémoires cache des GPU modernes de manière plus efficace. La troisième de ces techniques est le raffinement générique. Le maillage initial est composé d’éléments grossiers raffinés de façon identique. Cette algorithme permet d’accéder aux données de façon consécutive et apporte des performances accrues.