Nos domaines de formation :

Formation C++, programmer avec CUDA sous Visual Studio
utiliser le GPU pour améliorer les performances

Stage pratique
Durée : 2 jours
Réf : CDU
Prix  2018 : 1470 € H.T.
Pauses et déjeuners offerts
  • Programme
  • Participants / Prérequis
  • Intra / sur-mesure
Programme

Cette formation vous propose de découvrir, d'évaluer et de manipuler le SDK CUDA de la société NVIDIA, leader en matière d'utilisation du GPU, pour améliorer les performances du parallélisme de données. Vous acquerrez toutes les connaissances nécessaires à la mise en œuvre de CUDA.

Objectifs pédagogiques

  • Comprendre l'intérêt de l'utilisation du GPU en tant que ressource de calcul indépendante
  • Utiliser le GPU avec CUDA dans l'environnement de Visual Studio
  • Assurer le lien entre les threads du C++11 et l'utilisation du GPU
  • Vérifier l'intérêt dans le cadre d'un projet complet

Travaux pratiques

Développement d'une application de test, évaluation des différentes solutions proposées et comparaison avec des traitements équivalents sur le CPU.

Méthodes pédagogiques

Exposés théoriques suivis de relecture de code puis de mise en œuvre sur une application de test.
PROGRAMME DE FORMATION

Introduction

  • Présentation de l'utilisation du GPU comparée au CPU.
  • Le SDK CUDA de la société NVIDIA.
  • Les alternatives et compléments à CUDA.

Démonstration
Présentation de l'application de test et évaluation des résultats sur le CPU.

Installation de CUDA

  • Installation du driver spécifique et du SDK de CUDA.
  • Installation de NSIGHT, l'environnement spécifique de CUDA sous Visual Studio.
  • Exploration des exemples d'application.
  • Récupération des capacités des cartes graphiques installées.

Travaux pratiques
Installation de CUDA, création d'un projet et validation de l'installation.

La mise en œuvre de base

  • Les fondamentaux de l'exécution d'une fonction kernel.
  • La création d'une fonction kernel.
  • L'appel d'une fonction kernel.
  • Les transferts de mémoire entre le host et le GPU.
  • L'exécution asynchrone d'une séquence de code GPU.
  • Le débogage du code exécuté sur le GPU.

Travaux pratiques
Ajout d'une séquence de code à exécuter sur le GPU à l'application de test, comparaison des résultats avec l'existant en C++11. Utilisation du débogueur de NSIGHT.

L'utilisation des différentes options de mémoire de CUDA

  • La mémoire partagée à l'intérieur d'un bloc de threads, les différentes options.
  • L'optimisation entre la mémoire consacrée aux données et la taille du code à exécuter.
  • Les allocations mappées entre la mémoire du host et la mémoire de la carte graphique.
  • L'utilisation de la mémoire portable entre le host et plusieurs cartes graphiques.

Travaux pratiques
Manipulation des différentes options dans l'application de test. Recherche de la meilleure solution selon un cas étudié.

Les autres utilisations de CUDA

  • L'utilisation des Streams, exécution en parallèle sur différentes cartes graphiques.
  • L'utilisation de CUDA en C++ avec Thrust.
  • Les alternatives ou compléments à CUDA comme le C++ AMP, OpenCL, OpenAPP.

Etude de cas
Exploration des solutions complémentaires et alternatives, comparaison à l'aide de l'application de test.

Conclusion

  • Le champ d'application de l'utilisation du GPU comme alternative au CPU.
  • Les bonnes pratiques.
Participants / Prérequis

» Participants

Concepteurs et développeurs d'applications en C/C++, architectes logiciels.

» Prérequis

Bonnes connaissances du langage C/C++ et des threads, expérience requise. Connaissances de base du C++11.
Intra / sur-mesure
Programme standard     Programme sur-mesure
Oui / Non

Vos coordonnées

Dates de sessions

Pour vous inscrire, cliquez sur la session qui vous intéresse.
[+]
PARIS

Horaires

Les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45.
Pour les stages pratiques de 4 ou 5 jours, les sessions se terminent à 15h30 le dernier jour.