Outils mathématiques et numériques pour l'analyse numérique et la programmation des GPU
CSC215


Objectifs pédagogiques :

L'utilisation de processeurs graphiques (GPU) pour le calcul scientifique et les sciences de l'ingénieur permet un gain considérable en temps de calcul par rapport à une solution CPU classique. Ceci se fait au prix d'une programmation assez spécifique qu'il faut bien maîtriser pour pouvoir tirer le meilleur profit de ces processeurs.

Ce cours propose une familiarisation avec les outils mathématiques et algorithmiques des sciences de l'ingénieur nécessaires pour le développement de codes de calcul sur GPU et plus particulièrement sur les processeurs NVidia à travers l'utilisation du langage Cuda.

Le Cnam à obtenu le label " Cuda Teaching Center "

Public et conditions d'accès :

Ouvert à un large public : élèves possédant un niveau bac + 2 en mathématiques. Des connaissances en méthodes numériques et informatique (programmation C/C++) sont nécessaires.

Compétences :

A l'issue de ce cours les élèves seront à même de réaliser, de manière autonome, les différentes étapes menant au développement d'un code de calcul GPU; de l'algorithme à l'optimisation du code.

Méthodes de validation :

Contrôle continu et projet.

Contenu de la formation :
  1. Présentation des GPU, modèle hardware et software
  2. Les GPU NVidia et programmation avec Cuda
  3. Développement de codes calcul avec Cuda: application aux sciences de l'ingénieur
    • calcul vectoriel
    • calcul matriciel (transposition, multiplication)
    • résolution de systèmes linéaires
    • traitement d'image
    • équation de la chaleur en 2D

 

Organisation de la formation

  • Les supports de cours et ED seront mis à disposition sur Moodle
  • L'accès à un serveur permettant d'éditer, compiler et exécuter du code sera mis à disposition
  • Cours en ligne (visioconférence) le jeudi de 17h30 à 21h30
Bibliographie :
  • NVidia: CUDA C Programming Guide
  • Nicholas Wilt (à paraître en juin 2013): The CUDA Handbook: A Comprehensive Guide to GPU Programming
  • Jason Sanders & Edward Kandrot: Cuda par l'exemple

Prochaines sessions de formation

Recherche en cours