• Aucun résultat trouvé

Collision & Solutions Parallèles

2.4 Solutions Hybrides

Les travaux s’inscrivant dans cette nouvelle thématique des solutions hybrides pro-posent des solutions permettant de combiner le (ou les) CPU(s) au (ou aux) GPU(s) afin de répartir les calculs. De nombreuses combinaisons hybrides d’algorithmes GPU et CPU ont été proposées pour effectuer des tests de collisions et des requêtes de distance basées sur l’espace objet. Juarez-Comboni et al. [JMJC05] ont dès 2005, décrit l’utili-sation de plusieurs GPUs pendant le processus de détection de collision. Un GPU est en charge du processus de détection de collision en utilisant des requêtes simples basées volume tandis que l’autre GPU est en charge des opérations de rendu. Les résultats du second étant dans certains cas utilisés par le premier.

2.4.1 Parcours d’arbres

Kim et al. [KHH+09] ont présenté une méthode hybride parallèle continue de dé-tection de collision, appelée HPCCD, basée sur une hiérarchie de volumes englobants (BVH) (cf. Figure 2.11). HPCCD tire profit du parallélisme des architectures multi-cœur pour effectuer le parcours des BVH afin d’éliminer les paires n’étant pas en collision tan-dis que les GPUs sont utilisés pour effectuer des tests élémentaires qui permettent de réduire la résolution des équations cubiques. Leur méthode est basée sur une décompo-sition des tâches qui conduit à un algorithme parallèle sans verrou au sein de la boucle principale de parcours des BVH, permettant ainsi d’être évolutif et porté sur n GPUs. Cependant, ils n’ont testé leur approche que sur une architecture munie seulement de deux GPUs.

Conclusion 59

2.4.2 Subdivision spatiale et topologie

Pabst et al. [PKS10] ont présenté un nouvel algorithme hybride pour les objets rigides et déformables basé sur la subdivision spatiale. La Broad phase et la Narrow phase sont toutes deux exécutées l’une après l’autre sur une architecture multi-GPU. La Broad phase utilise une méthode adaptée de subdivision spatiale hautement parallèle permettant d’élaguer rapidement les paires d’objet de l’environnement n’étant pas en collision. Pour cela, ils étendent la méthode de Le Grand [LG07] (appliquée aux parti-cules) et l’appliquent à des maillages triangulaires de taille variable. Avant la création de la grille, un test de chevauchement basé k-DOP est effectué sur les objets actifs, des sphères englobantes sont ensuite calculées pour chaque triangle en parallèle sur le GPU. La taille de cellule de la grille est ainsi définie par le rayon de sphère le plus grand (moyennant un epsilon de l’utilisateur). La Narrow phase est, quant à elle, basée sur des tests élémentaires parallèles sommet-triangle et arête-arête. Leur comparaison avec les travaux existants révèle que leur approche hautement parallèle est mieux adaptée aux architectures multi-GPU/multi-CPU.

2.4.3 Ordonnancement et équilibrage

Herman et al. [HRF+10] ont également proposé un modèle hybride de détection de collision. Leur méthode s’appuie sur un ordonnancement à deux niveaux associant un partitionnement du graphe de tâches et une technique de vol de tâches. Ils profitent de la localité spatiale et temporelle pour la planification des tâches. La localité tempo-relle repose principalement sur la réutilisation de la distribution de partition entre les itérations consécutives.

2.4.4 Synthèse

Cette famille de solutions hybrides est encore très récente au sein du domaine des solutions parallèles pour la détection de collision. Elle est, pour le moment, assez peu explorée et seules quelques approches ont été proposées. Il est tout de même possible d’établir des similitudes entre les différentes approches existantes, telles que la rapidité, la généricité et la structuration qui apparaissent comme les trois caractéristiques ma-jeures les plus mises en avant. Le critère de structuration correspond à l’organisation du pipeline que les algorithmes hybrides choisissent afin d’effectuer des étapes sur CPU et/ou sur GPU. Il reste encore de nombreuses voies à explorer au sein des solutions hybrides afin de continuer à réduire le temps de calcul.

2.5 Conclusion

De l’analyse de ces solutions parallèles de détection de collision, nous déduisons un certain nombre de fonctionnalités essentielles à la réduction du goulet d’étranglement calculatoire au sein d’environnements large échelle :

– La Généricité : les algorithmes et modèles se doivent d’être génériques pour pou-voir, dans un premier temps, s’adapter aux nombreuses architectures actuelles,

60 État de l’art : Détection de Collision & Solutions Parallèles mais surtout pour pouvoir anticiper les prochaines. Le nombre perpétuellement croissant de cœurs sur un microprocesseur et de GPU dont dispose une machine, force les algorithmes à prendre en compte un nombre quelconque d’unités de cal-cul.

– L’Adaptativité : les scénarios de simulation physique n’étant généralement pas prévisibles à l’avance, le nombre d’objets et de polygones dans un environnement peut fortement évoluer au cours d’une simulation (Ajout, Suppression, Fracture etc.). L’algorithmique en charge de détecter les collisions doit être en mesure de s’adapter dynamiquement à ces variations. Or le survol de la littérature nous montre qu’aucune approche ne va, pour le moment, dans ce sens.

– La Rapidité : hormis le fait d’être générique et adaptatif, les algorithmes se doivent également d’être de plus en plus rapides. Au travers de la littérature nous avons pu constater que cette propriété est le principal gage de qualité d’une nou-velle approche. Le but n’est pas uniquement d’accroitre la rapidité des modèles en profitant du parallélisme mais de coupler ce parallélisme à une nouvelle algo-rithmique de détection de collision plus performante.

– La Structuration : on constate, dans les travaux en cours, que la structure en pipeline est l’unique stratégie adoptée. La tendance va d’ailleurs vers l’ajout de nouveaux filtres au sein du pipeline pour réduire encore plus le nombre d’élé-ments à tester. Les approches détaillées précédemment ne remettent pas en cause la structure même du pipeline qui pourrait, elle-même, être parallélisée en suivant le principe du parallélisme fonctionnel présenté dans la Section 2.1.3. Utiliser des algorithmes différents en fonction des propriétés géométriques des objets fait éga-lement partie de ce critère structurel auquel peu de travaux font, pour le moment, allusion.

Notre étude approfondie de la littérature nous a permis de mieux cerner l’objectif de nos travaux en s’attachant à proposer de nouveaux modèles répondant à toutes les fonc-tionnalités présentées ci-dessus [AGA09b]. Nous avons ainsi pu concevoir des modèles répondant aux différents critères nécessaires à la réduction du goulet d’étranglement en-gendré par les algorithmes de détection de collision. Nous présentons dans le prochain chapitre, des modèles basés multi-cœur permettant de réduire ce goulet d’étranglement et prenant en compte les quatre critères évoqués.

Chapitre 3