Adaptation et implémentation d’un programme de tir de rayons sur processeur graphique (GPU) Description : Les algorithmes de tracé de rayons sont des outils efficaces pour l’étude acoustique de salles. On modélise une salle par des surfaces aux propriétés acoustiques connues et l’on y on place au moins une source et un récepteur virtuels. Chaque source virtuelle émet de nombreux rayons dont les contributions sont prises en compte au(x) récepteur(s). Même si ces algorithmes sont encore très gourmands en temps de calcul, ils se prêtent bien à la parallélisation, chaque rayon tiré étant indépendant des autres. Les processeurs graphiques (utilisés sur les cartes graphiques des ordinateurs personnels) disposent de nombreuses unités de calcul travaillant en parallèle sur des flux de données (mais peu de possibilité de branchement). Jusqu’il y a peu, ces processeurs étaient uniquement destiné à l’affichage graphique mais les nouveaux processeurs des acteurs majeurs du marché (NVIDIA et AMD) sont dorénavant développés pour s’adapter au GPGPU (General Purpose computing on Graphics Processing Units). Ils fournissent chacun leur solution pour en faciliter l’utilisation (librairie de fonctions de haut niveau, compilateur, débuggeur, pour NVIDIA, outil CUDA et pour AMD, outil StreamSDK). Un standard (openCL) permettant l’interopérabilité des programmes sur différents matériels a été établi. L’algorithme utilisé par le laboratoire d’acoustique (Salrev) tire les rayons séquentiellement. Le but de ce travail est de proposer et d’implémenter l’algorithme du tir de rayon (Salrev) sur GPU (Graphics Processing Unit). Objectifs : - - Prise de contact, via la littérature scientifique, avec le thème de la simulation en acoustique des salles et avec le tir de rayons sonores; Analyse de l’algorithme logiciel Salrev existant. Extraction de la structure parallèle de l’algorithme et identification des endroits clés de l’algorithme (partie du code devant faire l’objet d’une attention particulière sur son temps d’exécution). Présentation d’une structure d’algorithme parallèle efficace implémentable sur GPU (certaines fonctions pourraient être calculées sur le GPU et d’autres sur le CPU). Implémentation de l’algorithme. Analyse des performances et conclusions. Profil de l’étudiant : Informaticien ou Ingénieur civil ayant de bonnes connaissances en C. Contacts : Lesoinne Stéphane, [email protected]