Développement C/C++ Perl et Python

Programmation parallèle en C++ avec CUDA sous Visual Studio (GPU NVIDIA)

Présentation de la formation

Objectifs de la formation

  • 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


Programme de la 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

Les bonnes pratiques.

Le champ d’application de l’utilisation du GPU comme alternative au CPU.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
 C/C++, programmer ses applications en Multicore (Prev Lesson)
Back to Développement C/C++ Perl et Python
Public

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.

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.