Parallélisation d’un code éléments finis spectraux. Application au contrôle non destructif par ultrasons - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2019

Spectral finite element code parallelization. Application to non-destructive ultrasonic testing.

Parallélisation d’un code éléments finis spectraux. Application au contrôle non destructif par ultrasons

Résumé

The subject of this thesis is to study numerous ways to optimize the high order spectral finite element method (SFEM) computation time. The goal is to improve performance based on easily accessible architectures, namely SIMD multicore processors and graphics processors. As the computational kernels are limited by memory accesses (indicating a low arithmetic intensity), most of the optimizations presented are aimed at reducing and accelerating memory accesses. Improved matrix and vectors indexing, a combination of loop transformations, task parallelism (multithreading) and data parallelism (SIMD instructions) are transformations aimed at cache memory optimal use, registers intensive use and multicore SIMD parallelization. The results are convincing: the proposed optimizations increase the performance (between x6 and x11) and speed up the computation (between x9 and x16). The SIMDized implementation is up to x4 better than the vectorized implementation. The GPU implementation is between two and three times faster than the CPU one, knowing that a NVLink high-speed connection will allow a correct masking of memory transfers. The proposed transformations form a methodology to optimize intensive computation codes on common architectures and to make the most of the possibilities offered by multithreading and SIMD instructions.
Le sujet de cette thèse consiste à étudier diverses pistes pour optimiser le temps de calcul de la méthode des éléments finis spectraux d'ordre élevé (SFEM). L’objectif est d’améliorer la performance en se basant sur des architectures facilement accessibles, à savoir des processeurs multicœurs SIMD et des processeurs graphiques. Les noyaux de calcul étant limités par les accès mémoire (signe d’une faible intensité arithmétique), la plupart des optimisations présentées visent la réduction et l’accélération des accès mémoire. Une indexation améliorée des matrices et vecteurs, une combinaison des transformations de boucles, un parallélisme de tâches (multithreading) et un parallélisme de données (instructions SIMD) sont les transformations visant l’utilisation optimale de la mémoire cache, l’utilisation intensive des registres et la parallélisation multicœur SIMD. Les résultats sont concluants : les optimisations proposées augmentent la performance (entre x6 et x11) et accélèrent le calcul (entre x9 et x16). L’implémentation codée explicitement avec des instructions SIMD est jusqu’à x4 plus performant que l’implémentation vectorisée. L’implémentation GPU est entre 2 et 3 fois plus rapide qu’en CPU, sachant qu’une connexion haut débit NVLink permettrait un meilleur masquage des transferts de mémoire. Les transformations proposées par cette thèse composent une méthodologie pour optimiser des codes de calcul intensif sur des architectures courantes et pour tirer parti au maximum des possibilités offertes par le multithreading et les instructions SIMD.
Fichier principal
Vignette du fichier
CARRASCAL_MANZANARES_2019.pdf (9.99 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03987740 , version 1 (14-02-2023)

Identifiants

  • HAL Id : tel-03987740 , version 1

Citer

Carlos Carrascal Manzanares. Parallélisation d’un code éléments finis spectraux. Application au contrôle non destructif par ultrasons. Calcul parallèle, distribué et partagé [cs.DC]. Sorbonne Université, 2019. Français. ⟨NNT : 2019SORUS586⟩. ⟨tel-03987740⟩
45 Consultations
69 Téléchargements

Partager

Gmail Facebook X LinkedIn More