Thèse soutenue

Accélération de l'algorithme du lancer de rayons en environnement parallèle hétérogène

FR  |  
EN
Auteur / Autrice : Jean-Patrick Roccia
Direction : Mathias PaulinChristophe Coustet
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2013
Etablissement(s) : Toulouse 3

Mots clés

FR

Résumé

FR  |  
EN

Le lancer de rayons permet d'obtenir une grande précision pour simuler des phénomènes de rayonnements physiques, et ce dans des domaines très variés. Malgré sa relative simplicité, celui-ci pose de multiples problèmes lorsqu'il s'agit de le rendre performant. Les architectures matérielles modernes proposent un parallélisme croissant, symbolisé par une augmentation du nombre de cœurs de calculs disponibles, que ce soit sur CPU ou sur GPU. L'algorithme du lancer de rayons se doit de tirer parti de cette puissance de calcul disponible. En effet, au lieu de traiter les rayons de manière séquentielle, les traiter parallèlement permet d'augmenter significativement les performances. Nos contributions s'étalent sur l'ensemble des éléments clefs pour l'accélération de l'algorithme du lancer de rayons. La première permet d'accélérer la construction d'une structure d'accélération : un KD-Tree. Cette méthode permet d'accélérer la construction en utilisant conjointement le CPU et le GPU, et se compare avantageusement aux méthodes précédemment publiées. Notre seconde contribution permet la répartition des tâches de traversées du KD-Tree entre les CPU et GPU de manière transparente pour l'utilisateur. Notre troisième contribution concerne le test d'intersection rayon-triangle appliqué au KD-Tree et permet de maximiser l'utilisation des instructions SIMD des CPU lors de l'intersection tout en maitrisant la consommation mémoire et préservant les performances sur GPU. Enfin, notre dernière contribution est plus générale, et permet de répartir automatiquement de manière parallèle et transparente des calculs entre les unités de calculs hétérogènes.