• Aucun résultat trouvé

La réduction des temps de calcul pour les attributs sismiques permet de paver la voie à l’interprétation interactive. On peut parler d’interactivité dès que les temps de calcul descendent sous la seconde. Idéalement, des calculs permettant d’afficher trois images par seconde seront quasiment imperceptibles pour l’utilisateur. Nous avons montré que le calcul sur GPU permet

5.3. Conclusion 121 pour des cubes de tailles usuelles de descendre sous la seconde de calcul. Nous pouvons réduire encore plus ce temps en ne traitant que les données nécessaires à l’affichage du sous domaine visualisé : il peut s’agir d’une section en temps, d’une coupe en inline ou en cross-line, ou de données extraites le long d’un horizon, des faces d’un sous cube, etc. Le calcul s’effectuant sur GPU, ces données pourront être mises à disposition des bibliothèques effectuant le rendu sans surcoût de transferts CPU-GPU grâce aux mécanismes d’interopérabilité offerts par les outils de calcul (type CUDA) et de rendu (type OpenGL). Au cours de nos travaux, nous avons pu développer un prototype pour le calcul GCC et de la cohérence en interactif représenté sur la figure 5.11. Une telle solution permet de déterminer rapidement les paramètres adéquats à un certain calcul avant de l’exécuter sur l’ensemble du cube en entrée. Cette approche permet également d’ouvrir la voie à un changement radical dans l’exercice d’interprétation. En effet, si le temps de calcul est suffisamment rapide par rapport au temps d’accès aux données, il suffira de recalculer les données à afficher à la volée, selon la partie que l’on souhaite visualiser. Le calcul à la volée induit par la visualisation permet d’éviter le stockage des données calculées.

5.3 Conclusion

Nous avons décrit dans ce chapitre comment l’utilisation de l’accélération GPU pour le calcul d’attributs sismiques permettait de modifier en profondeur le travail des interprétateurs en accélérant considérablement certaines tâches de leur quotidien et en tendant vers le calcul interactif. Cependant, l’utilisation intensive de la carte graphique de la station de travail pour le calcul généraliste souffre encore de certaines limitations. Nous avons pu disposer pour nos travaux d’une station de travail équipée d’un accélérateur Tesla en plus de la carte graphique. Ceci est rarement le cas. L’utilisation de la carte graphique principale entraîne des ralentissements et une détérioration des performances du système[118]. Il existe également une limite de temps imposée par le système d’exploitation pour l’exécution des noyaux sur GPU (environ 5s). Au-delà de cette limite, le calcul est considéré comme suspendu et le système met fin à son exécution pour éviter la détérioration des performances de la station. Il convient donc de mettre en place à chaque fois les solutions algorithmiques adéquates. La mise en œuvre pratique dans le cadre de la plateforme industrielle ainsi que l’implémentation d’autres types d’attributs ont fait l’objet d’un sujet et d’un mémoire de stage[98]. Le lecteur est invité à s’y reporter.

Fig. 5.11: Calcul interactif de la cohérence et du GBC (respectivement en haut et en bas à droite, en niveaux de gris) sur une section en temps des données sismiques (à gauche). Seules les données nécessaires au calcul de la section courante sont transférées vers le GPU.

Chapitre 6

Conclusions et perspectives

6.1 Conclusions

Dans ce travail de thèse, nous avons pu démontrer l’apport que pouvaient constituer les accélérateurs de calcul tout au long de la chaîne d’imagerie et d’interprétation sismiques. Des applications mises en œuvre à chaque étape de cette chaîne (modélisation, migration et interprétation sismiques) ont été portées et des facteurs d’accélération importants ont été reportés par rapport à l’utilisation de processeurs généralistes. Pour la modélisation sismique en densité constante un facteur 40 a été obtenu. Pour la migration RTM, un facteur plus modeste a été observé compte tenue de la taille des transferts des données. Enfin, pour certains calculs d’attributs sismiques utilisés pour l’interprétation, des accélérations allant de 8 à 160 ont été obtenues.

Cette étude a été menée selon deux points de vues différents et à deux échelles distinctes. En effet, pour l’imagerie sismique (modélisation et migration), les accélérateurs se posent comme concurrents des processeurs généralistes. Les contraintes d’espace et d’alimentation électrique des centres de calcul imposent de sélectionner les architectures les plus performantes et les plus adaptées aux applications considérées en minimisant, entre autres, l’occupation au sol et la consommation électrique. Nous avons pu démontrer en considérant toutes ces contraintes que la solution GPU était la plus indiquée pour ce type d’applications. La situation est toute autre pour l’interprétation des données sismiques. Les stations d’interprétation disposent de cartes graphiques puissantes utilisées pour le rendu graphique. L’exploitation des ressources de ces cartes se présente alors comme une possibilité complémentaire à l’utilisation du processeur généraliste. Nous avons démontré que l’utilisation de ces ressources permettait de tendre vers l’interactivité recherchée pour l’exercice d’interprétation. Nous avons également proposé une solution permettant d’atteindre cette interactivité en recalculant à la volée uniquement les parties à afficher d’un cube attribut en lieu et place du calcul du cube entier en amont, de son stockage sur disque, et ce pour pouvoir ensuite en afficher certaines parties. L’interopérabilité entre bibliothèques de calcul et d’affichage sur GPU, illustrée dans le cadre de cette thèse,

permet de rendre cette démarche efficace en maintenant les données à calculer et à afficher résidentes dans la mémoire de l’accélérateur graphique. Cette approche a également le mérite de réduire le volume de données généré.

Dans ce travail de thèse, nous avons également souligné les facteurs limitants à considérer pour obtenir des implémentations performantes sur ces plateformes accélératrices. Les mé-canismes algorithmiques permettant de réduire l’impact de ces facteurs ont été explorés et illustrés par différents exemples. Etant donnée la puissance de calcul importante disponible sur les accélérateurs, les contraintes sont souvent essentiellement liées aux coûts d’accès et de transfert des données. Ces coûts peuvent être limités par le biais de l’exploitation des différents niveaux de mémoire des accélérateurs, de la localité des calculs, du recouvrement entre calcul et communication, des motifs d’accès à la mémoire (adaptation de la taille des vecteurs, prefetch, réduction des conflits d’accès et du patition camping, etc) notamment.

Nous avons enfin démontré que, de la même manière qu’il convient de rechercher l’archi-tecture la plus adaptée à une application particulière, il convient aussi de prendre en compte les contraintes propres à chaque architecture et d’adapter les méthodes numériques considérées à ces contraintes. Dans ce contexte, l’utilisation de schémas numériques d’ordres plus élevés pour les différences finies et de méthodes pseudo-spectrales pour la résolution de l’équation d’onde sur GPU et FPGA a été explorée. La comparaison des filtres FIR et IIR pour le lissage Gaussien sur GPU a été également menée. Dans les deux cas on relève la pertinence de la démarche.

La fiabilité, la maintenabilité, la portabilité ainsi que la pérennité des codes fournis ont été des objectifs importants tout au long de cette thèse. Dans cette optique, l’utilisation de la programmation par directives de compilation avec HMPP et OpenAcc a été identifiée comme l’approche la plus appropriée pour garantir ces objectifs.

Ces travaux ouvrent la voie à une intégration complète et systématique des accélérateurs de calcul tout le long du cycle de traitement des données sismiques et ce d’autant plus que nous avons démontré que cette intégration ne se fait pas aux dépends de la fiabilité et de la maintenabilité du code existant.