• Votre sélection est vide.

    Enregistrez les diplômes, parcours ou enseignements de votre choix.

Processeur graphique GPU : architecture et programmation

Sciences, technologies, santé, ingénierie
  • Autre durée

    4 jours

  • Composante

    Grenoble INP - Département Formation Pro

Présentation

Objectifs

  • Connaître les éléments clés des architectures et de la programmation des GPU
  • Savoir porter et optimiser une application scientifique sur processeur graphique pour multiplier par 10 à 100 ses performances
  • Savoir programmer en CUDA sur GPU
  • Se familiariser avec le modèle de streaming CUDA et le multi GPU

 

Nos atouts pédagogiques 

Cette formation s’appuie sur les moyens techniques que met à disposition l’école Grenoble INP - Phelma, UGA, en particulier pour sa filière SICOM « Signal, Image, Communication, Multimédia ».

Les intervenants sont des enseignants-chercheurs et chercheurs du département Image au sein du laboratoire Gipsa Lab, spécialistes reconnus dans le domaine de l’adéquation algorithme architecture.

Les plus de la formation :  

  • Alternance entre apports théoriques et applications pratiques
  • 60 % de la formation se déroule sous forme de travaux pratiques avec des études de cas sur ordinateurs (1 poste par stagiaire)
  • les codes sources des exemples traités sont fournis lors de la formation
  • l’encadrement important lors des séances pratiques (au minimum 1 enseignant pour 5 stagiaires) permet une progression rapide adaptée à chacun
Lire plus

Organisation

Contrôle des connaissances

Quizz d’acquisition des connaissances en début et en fin de formation.

Lire plus

Programme

Jour 1- Architecture des GPU  

  • Historique des GPU, pipeline graphique
  • Architecture comparée des GPU (ATI, Nvidia, Intel) et Xeon Phy
  • Présentation de l’API CUDA et de la chaîne de compilation
  • Comparaison avec OpenCL
  • Modèle de programmation et d’exécution (blocs, warps)
  • Modèles de mémoires (textures, constantes, shared, globale, host)
  • Méthodologie de portage sur GPU


Après-midi : Travaux pratiques

  • Prise en main du GPU et de son environnement de développement sur des exemples du SDK Nvidia (rotation d'image, filtre convolutif, tri...)
  • Développement d’un filtre passe bas sur image en niveaux de gris avec textures

 

Jour 2 - Programmation parallèle des GPU et CPU  

  • Points forts et faiblesses du modèle de programmation parallèle
  • Architecture détaillée des familles Nvidia
  • Multithreading, Hyperthreading
  • Structuration des données (tiling, gestion des scratchpads)
  • Précision des calculs
  • Communication parallèle (débit, latence)
  • Mémoires (types, accès, gestion) et cohérence des données (mémoires
  • Caches, partagées, globales, synchronisation)
  • Outils d’analyse de performance (optimisation, profiler, debug…)


Après-midi : Travaux pratiques

  • Développement d’un traitement de type Stencil avec mémoire shared, et réduction d’image avec histogramme

 

Jour 3 - Programmation avancée  

  • Multi-GPU, fonctionnement asynchrone (streams)
  • Lien avec MPI/OpenMP,
  • Schémas de parallélisation (Stencils, Reduction, …)
  • Optimisation parallèle (profiler)
  • Lien CUDA / OpenGL
  • Nouveautés CUDA 8 et 9


Après-midi : Travaux pratiques

  • Développement d’un filtre complexe de détection de contour de Deriche avec mémoire shared et globale, avec lissage récursif et transposition optimisée

 

Jour 4 - Mises en situations pratiques

  • Développement d'une application multi-GPU
Lire plus

Admission

Conditions d'admission

Pour qui ?
Cette formation s'adresse à des ingénieurs ou techniciens impliqués dans la conception de logiciels de traitement de données à fortes contraintes de performance.

Pré-requis : Connaissance de la programmation en Langage C.

Effectif : de 4 à 8 personnes

Lire plus

Tarifs de la formation continue

2 900 €/personne

Lire plus
  • Ajouter à la sélection

    Vous avez formations et cours sauvegardés