diff --git a/GPGPU.typ b/GPGPU.typ index de17a79b8a28d4db5f83ad6e932dbd4332ff049e..9b60830b028d909684dff67cd0a1f6de2de1a778 100644 --- a/GPGPU.typ +++ b/GPGPU.typ @@ -22,8 +22,8 @@ title: "Définition", )[ Le terme "_general-purpose computing on graphics processing units_" (GPGPU) - désigne l'ensemble des programmmes qui ne sont pas graphiques et qu'on réalise - sur GPU. + désigne l'ensemble des programmmes qui ne sont pas directement liés au calcul + graphique et qu'on réalise sur GPU. Par exemple : - Simulation de phénomènes physiques @@ -40,7 +40,7 @@ #box(columns(2, gutter: 22pt)[ == Adapté : - - Ordonancer des tâches + - Ordonnancer des tâches - Accéder aux périphériques - Réseau - Disque @@ -51,14 +51,14 @@ - Calcul matriciel ]) - Les GPU apportent une réponse à ces problèmes. + Les GPU apportent une réponse à ces problèmes ] #slide( title: "CPU vs GPU", )[ Un GPU est un type de processeur conçu pour effectuer massivement des calculs en - parallèle. + parallèle #figure( image("assets/cpu-gpu.svg", width: 70%), @@ -66,7 +66,8 @@ 2010], ) - #link("https://youtu.be/-P28LKWTzrI")[Partenariat Myth Busters & Nvidia] + Voici une petite vidéo du partenariat entre Myth Busters et Nvidia, pour + visualiser la différence #link("https://youtu.be/-P28LKWTzrI") ] #new-section-slide("La programmation sur GPU") @@ -77,8 +78,8 @@ CUDA est le kit de développement de NVIDIA pour faire du GPGPU. C'est le kit le plus populaire de développement GPGPU. - CUDA permet d'écrire du code en C/C++ et de le compiler pour qu'il soit exécuté - sur des GPU de Nvidia. + CUDA permet d'écrire du code dans un dialecte C/C++ et de le compiler pour qu'il + soit exécuté sur des GPU de Nvidia. Dans la concurrence, on peut également citer OpenCL (multi-plateforme), ROCm pour AMD ou OneAPI pour Intel. @@ -92,10 +93,12 @@ #new-section-slide("Exemple de code CUDA et notions à retenir") -#slide(title: "Notions essentielles à retenir")[ +#slide( + title: "Notions essentielles à retenir", +)[ - Le CPU et le GPU sont deux périphériques distincts - Le GPU est prévu pour effectuer massivement des calculs - - La mémoire n'est pas partagée + - La mémoire n'est pas partagée, l'espace d'adressage n'est donc pas commun - On parle de *Host* pour le CPU et de *Device* pour le GPU ]