Descriptif
L'objectif de cet enseignement est de donner une vision des algorithmes et de leur implémentations dans les bibliothèques modernes d'apprentissage automatique fondées sur les réseaux de neurones. En particulier, l'utilisation de matériel spécifique, comme les cartes graphiques, pour gagner en performance sont au coeur des ces bibliothèques. Il est alors important de comprendre comment sont partagés les calcules entre matériel spécifique et CPU.
Objectifs pédagogiques
- Savoir programmer les cartes graphiques
- Maitriser les algorithmes et leurs mises en oeuvre associés aux méthodes d'apprentissage profond.
effectifs minimal / maximal:
10/30Diplôme(s) concerné(s)
Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Programmation en C/C++
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Doctorat
Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Vos modalités d'acquisition :
projet de programmation
Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)- le rattrapage est obligatoire si :
- Note initiale < 6
- le rattrapage peut être demandé par l'étudiant si :
- 6 ≤ note initiale < 10
- Crédits ECTS acquis : 2 ECTS
Le coefficient de l'UE est : 1
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Programme détaillé
Séance 1 : Introduction à l'architecture matériel des GPGPU et des mémoires
Séance 2 : princide de réductions
Séance 3 : présentation de cuBLAS
Séance 4 : classification linéaire avec cuBLAS
Séance 5 : cuDNN - réseaux neurones profonds
Séance 6 : cuDNN - réseaux de neurones convolutifs
Séance 7 : plateformes, cloud, TPU
Séance 8 : TP/mini-projet noté