Difference between revisions of "Seminar/2014-12-10"

From LRDE

(Created page with "{{SeminarHeader | id = 2014-12-10 | date = Mercredi 10 décembre 2014 | schedule = 11h00-12h00 | location = Salle L0 du LRDE }} {{Talk | id = 2014-12-10 | abstract = D...")
 
 
(6 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
{{Talk
 
{{Talk
 
| id = 2014-12-10
 
| id = 2014-12-10
| abstract = Dans de nombreux domaines, de plus en plus de personnes cherchent à
+
| abstract = Dans de nombreux domaines on cherche à améliorer les performances des
  +
programmes en faisant appel au « GPGPU »: un ensemble d’outils et de
améliorer les performances de leurs programmes en faisant appel à une
 
 
techniques permettant d’utiliser le GPU d’une machine afin de lui déléguer
technique appelée le GPGPU: un ensemble d’outils et de techniques permettant
 
 
d'autres calculs que les traditionnelles routines de dessins. Cependant,
d’utiliser le GPU d’une machine afin de lui déléguer d'autres calculs que
 
 
écrire un programme qui exploite à la fois le GPU et le CPU n’est pas une
les traditionnelles routines de dessins. Cependant, écrire un programme qui
 
 
tâche facile. Même lorsque les algorithmes se prêtent bien à la
exploite à la fois le GPU et le CPU n’est pas une tâche facile. Même
 
 
programmation GPU il arrive que le gain en performance soit décevant. L’un
lorsque les algorithmes se prêtent bien à la programmation GPU il arrive que
 
  +
des principaux problèmes reste la gestion de la mémoire et surtout du
le gain en performance soit décevant. L’un des principaux problèmes reste la
 
gestion de la mémoire et surtout du transfert de données entre le GPU et le
+
transfert de données entre le GPU et le CPU. En effet l'optimisation des
CPU. En effet l'optimisation les temps de transfert est délicate et peut
+
temps de transfert est délicate et peut nécessiter plusieurs jours d’analyse
nécessiter plusieurs jours d’analyse et de réécriture pour obtenir de bonnes
+
et de réécriture pour obtenir de bonnes performances.
performances.
 
   
 
CUDA offre de nouveaux outils pour résoudre ce problème. Des outils de
 
CUDA offre de nouveaux outils pour résoudre ce problème. Des outils de
profilage de code permettent de voir où se situe les problèmes de transfert.
+
profilage de code permettent de voir où se situent les problèmes de
UVM (Unified Virtual Memory), le nouveau modèle de gestion de la mémoire,
+
transfert. UVM (Unified Virtual Memory), le nouveau modèle de gestion de la
permet de tirer pleinement parti de CUDA bien plus facilement que par le
+
mémoire, permet de tirer pleinement parti de CUDA bien plus facilement que
passé.
+
par le passé.
   
 
C’est à l’utilisation de ces nouvelles techniques que nous nous intéressons
 
C’est à l’utilisation de ces nouvelles techniques que nous nous intéressons
Line 30: Line 29:
 
| duration = 45
 
| duration = 45
 
| orator = Raphaël Boissel, EPITA, CSI
 
| orator = Raphaël Boissel, EPITA, CSI
  +
| picture = Raphael-Boissel
 
| resume = Étudiant au LRDE dans la majeure CSI (Calcul Scientifique et Image), Raphaël
 
| resume = Étudiant au LRDE dans la majeure CSI (Calcul Scientifique et Image), Raphaël
 
a fait son stage de fin d’étude chez NVidia, dans l’équipe CUDA driver. Il
 
a fait son stage de fin d’étude chez NVidia, dans l’équipe CUDA driver. Il
Line 35: Line 35:
 
fonctionnalités pour ce nouveau modèle de gestion de la mémoire.
 
fonctionnalités pour ce nouveau modèle de gestion de la mémoire.
 
| schedule = 11h
 
| schedule = 11h
  +
| slides = boissel.pdf
 
| title = Une nouvelle approche pour la gestion de la mémoire avec CUDA
 
| title = Une nouvelle approche pour la gestion de la mémoire avec CUDA
 
| urls = https://developer.nvidia.com/cuda-toolkit,http://docs.nvidia.com/cuda/cuda-c-programming-guide/
 
| urls = https://developer.nvidia.com/cuda-toolkit,http://docs.nvidia.com/cuda/cuda-c-programming-guide/

Latest revision as of 18:07, 4 December 2018

Mercredi 10 décembre 2014, 11h00-12h00, Salle L0 du LRDE

Seminar-figs-Raphael-Boissel.jpeg

Une nouvelle approche pour la gestion de la mémoire avec CUDA

Raphaël Boissel, EPITA, CSI

Dans de nombreux domaines on cherche à améliorer les performances des programmes en faisant appel au « GPGPU »: un ensemble d’outils et de techniques permettant d’utiliser le GPU d’une machine afin de lui déléguer d'autres calculs que les traditionnelles routines de dessins. Cependant, écrire un programme qui exploite à la fois le GPU et le CPU n’est pas une tâche facile. Même lorsque les algorithmes se prêtent bien à la programmation GPU il arrive que le gain en performance soit décevant. L’un des principaux problèmes reste la gestion de la mémoire et surtout du transfert de données entre le GPU et le CPU. En effet l'optimisation des temps de transfert est délicate et peut nécessiter plusieurs jours d’analyse et de réécriture pour obtenir de bonnes performances.

CUDA offre de nouveaux outils pour résoudre ce problème. Des outils de profilage de code permettent de voir où se situent les problèmes de transfert. UVM (Unified Virtual Memory), le nouveau modèle de gestion de la mémoire, permet de tirer pleinement parti de CUDA bien plus facilement que par le passé.

C’est à l’utilisation de ces nouvelles techniques que nous nous intéressons dans cette présentation.

Étudiant au LRDE dans la majeure CSI (Calcul Scientifique et Image), Raphaël a fait son stage de fin d’étude chez NVidia, dans l’équipe CUDA driver. Il travaillait au sein de l'équipe sur UVM sur l’implémentation de nouvelles fonctionnalités pour ce nouveau modèle de gestion de la mémoire.

https://developer.nvidia.com/cuda-toolkit, http://docs.nvidia.com/cuda/cuda-c-programming-guide/