Formation CUDA

Accélérez vos applications C++ et IA avec CUDA 13.1 et les GPU NVIDIA (Hopper/Blackwell) — de l’analyse au déploiement en production.

Formation CUDA

Description

Cette formation CUDA vous permettra d’accélérer efficacement vos applications C++ ou d'optimiser vos programmes CUDA existants.

Pendant 4 jours, vous apprendrez à :

  • Estimer les gains atteignables sur une architecture donnée
  • Porter un algorithme CPU sur GPU avec CUDA
  • Organiser l'exécution sur le GPU
  • Identifier les goulots et optimiser les noyaux
  • Profiler vos applications avec Nsight Systems et Nsight Compute
  • Programmer en environnement HPC multi-node et multi-GPU

Public

Cette formation s’adresse aux développeur·se·s C/C++, ingénieur·e·s performance, data engineers et équipes IA souhaitant exploiter pleinement la puissance du calcul parallèle.

Les objectifs

  • Comprendre l'architecture d'un GPU
  • Évaluer la pertinence d’un portage
  • Organiser l'exécution d'un calcul sur un ou plusieurs GPU
  • Développer des noyaux CUDA performants

Pré-requis

  • Maîtriser les bases du langage C ou C++
  • Comprendre les notions d’algorithmique et de structures de données
  • Avoir des bases en parallélisme ou en performance
  • Ordinateur portable à apporter

Le programme de la formation CUDA

Jour 1 — Architecture GPU et premier développement CUDA

  • Comprendre l'architecture d'un GPU

    • Historique du GPGPU
    • Notion de parallèlisme
    • Parallélisme CPU : multi-coeur / multi-thread / superscalaire / SIMD
    • Parallélisme GPU : SIMT
  • Programmer avec CUDA

    • Partitionement host / device
    • Threads / Warps / Blocks / Grids
    • Debugger et gestion des erreurs
    • Stratégies principales de parallélisation
  • Communiquer entre *threads*

    • Opérations atomiques
    • Mémoire partagée
    • Synchronization intra-block
    • Warp shuffle

Jour 2 — Gestion de la mémoire

  • Optimiser la bande passante

    • Mémoire globale / partagée / constante
    • Fusion de kernel
    • Accès memoires amalgamées
    • Bank conflict
    • Transfert asynchrone
  • Organiser un flux de calcul CPU - GPU

    • Streams et events
    • Transferts asynchrones
    • Organisation avec des graphes d'exécutions
    • Profilage d'un programme avec Nsight Systems

Jour 3 — Intégration et optimisation des performances

  • Compiler et intégrer CUDA

    • Compute capabilities et compatibilité ascendante
    • Organisation d'un projet C++ / CUDA avec CMake
    • Pratiques courantes d'architecture logicielle
  • Utiliser des languages dédiés (DSL) et librairies GPU

    • Librairies Nvidia
    • Librairies pour le calcul scientifique
    • Domain Specific Languages
  • Analyser et optimiser les kernels

    • Roofline model et occupancy
    • Diagnostiquer avec Nsight Compute
    • Optimisation d'un compute-bound kernel
    • Optimisation d'un memory-bound kernel
    • Optimisation d'un latency-bound kernel

Jour 4 — Notions avancées et multi GPU

  • Exploiter le GPU de fond en comble

    • Interopérabilité OpenGL / Vulkan
    • Interpolation matérielle avec les textures
    • Ray tracing cores et Optix
    • Tensor cores et tensor memory accelerator
  • Utiliser les fonctionnalités récentes

    • Synchronization globale avec Cooperative launch
    • Cluster et mémoire partagée distribuée
    • Equilibrage de charge avec Cluster Launch Control
  • Distribuer le travail sur plusieurs GPU

    • Communication P2P
    • Communication collective avec NCCL
    • Accès mémoire distribué avec NVSHMEM

Télécharger le programme

Thématiques de cette formation

Formateur

Christophe HENNEKINNE

Christophe HENNEKINNE

Ingénieur de l’École Polytechnique et diplômé de Caltech, Christophe s’est spécialisé dans le calcul haute performance appliqué à la mécanique des fluides. Il a découvert alors la programmation GPU via CUDA dès 2013 à l’université de Cambridge. Il a ensuite développé et optimisé des codes de calcul scientifique sur supercalculateurs, en explorant activement le portage GPU.

Désormais, il accompagne des équipes sur des projets variés : portage et optimisation de codes existants, calcul scientifique, applications temps réel, etc. Sa veille constante sur les évolutions rapides des cartes graphiques, fortement liées à l’IA, lui permet de transposer ces avancées à d’autres domaines scientifiques.

En tant que formateur, Christophe privilégie une pédagogie vivante qui alterne apports théoriques et pratiques sur des applications variées. Il aide les développeurs à comprendre l’architecture GPU pour choisir les bonnes stratégies de parallélisation et maximiser les gains. Avec lui, les formations deviennent un moment d’échange concret et humain, directement ancré dans les réalités du terrain.

Témoignage

Arthur S.

BUF COMPAGNIE 16.09.2026

Très bien de manière générale, intervenant très compétent et pédagogue, programme bien structuré, mais les énoncés des TP manquaient parfois un peu de clarté. Certaines parties sur Nsight manquaient notamment de guidance.

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

8 raisons de participer à une formation Human Coders

  • Satisfaction client élevée : Un taux de satisfaction de 4,6/5 depuis 2012 (sur 1957 sessions réalisées). 99% des participants se disent satisfaits de nos formations
  • Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
  • Catalogue de formations complet : 277 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 14 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
  • Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
  • Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
  • Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012