0Pricing
CUDA Academy icon

CUDA Academy

CPPEnterpriseDesktopAi

Programmez le GPU avec CUDA C++. Des threads et de la hiérarchie mémoire aux kernels, optimisation et calcul parallèle réel.

🤖 Alimenté par l'IA📚 30 cours👥 100 000+ apprenants⭐ Note 4,9
Présentation du Cours

CUDA : programmation GPU avec C++

Programmez le GPU avec CUDA C++. Des threads et de la hiérarchie mémoire aux kernels, optimisation et calcul parallèle réel. Cette piste couvre 30 mini-cours progressifs du niveau débutant absolu (A1) au niveau avancé (B2), avec des leçons courtes et ciblées ainsi que des quiz rapides pour consolider chaque concept.

Ce que vous apprendrez

Vous commencez par les fondamentaux et progressez à travers des sujets intermédiaires et avancés, chaque cours s'appuyant sur le précédent. Chaque leçon est pratique et de courte durée, avec un tuteur IA disponible 24h/24 et 7j/7 quand vous en avez besoin.

Comment ça marche

Chaque cours est divisé en quatre leçons ciblées et de courte durée. Complétez quelques leçons par jour et vous maîtriserez la piste complète en quelques semaines, non en mois.

Commencer →

Comment Tu Vas Apprendre

🎯
Leçons Interactives
Exercices de codage pratiques avec retours en temps réel
🤖
Tuteur IA
Obtiens une aide instantanée de notre IA quand tu es bloqué
💻
Éditeur Intégré
Écris et exécute du code directement dans ton navigateur
🏆
Certificat
Obtiens un certificat en complétant le cours
Programme

30 Cours

Tous les cours du parcours d'apprentissage CUDA Academy.

01

Pourquoi les GPU excellent dans les tâches parallèles

A14 leçons

Expliquez ce qu’est un GPU et pourquoi des milliers de petits cœurs surpassent quelques cœurs CPU rapides pour les problèmes parallèles.

02

Configurer votre chaîne d’outils CUDA

A14 leçonsPRO

Installez le CUDA Toolkit, vérifiez votre pilote et compilez votre premier programme avec nvcc.

03

Hôte et périphérique : deux univers

A14 leçonsPRO

Distinguez le code hôte CPU du code exécuté sur le périphérique GPU et sachez quelle mémoire chaque côté peut utiliser.

04

Écrire votre premier noyau

A14 leçonsPRO

Définissez, lancez et exécutez un noyau GPU qui affiche un message depuis le périphérique.

05

Threads, blocs et grilles

A14 leçonsPRO

Adaptez un problème à la hiérarchie CUDA des threads, des blocs et de la grille.

06

Indexation globale des threads

A24 leçonsPRO

Calculez un index global unique afin que chaque thread traite exactement un élément de données.

07

Gérer la mémoire du périphérique

A24 leçonsPRO

Allouez et libérez la mémoire GPU et comprenez le tas du périphérique.

08

Déplacer des données avec cudaMemcpy

A24 leçonsPRO

Transférez des tableaux entre l’hôte et le périphérique dans les deux sens, de manière fiable.

09

Construire une addition vectorielle de bout en bout

A24 leçonsPRO

Écrivez sur le GPU un programme complet C = A + B, de l’allocation à la vérification.

10

Gérer correctement les erreurs CUDA

A24 leçonsPRO

Détectez et signalez les échecs CUDA provenant des appels d’API et des lancements de noyaux.

11

Cartographier la hiérarchie mémoire CUDA

B14 leçonsPRO

Choisissez le bon espace mémoire parmi les espaces global, partagé, constant, local et les registres.

12

Coalescer les accès à la mémoire globale

B14 leçonsPRO

Organisez les accès afin qu’un warp lise une mémoire contiguë en une seule transaction.

13

Maîtriser la mémoire partagée sur puce

B14 leçonsPRO

Utilisez la mémoire __shared__ et __syncthreads pour partager des données au sein d’un bloc.

14

Tuile d’algorithmes en mémoire partagée

B14 leçonsPRO

Appliquez le schéma chargement-synchronisation-calcul par tuiles pour réutiliser les données et réduire le trafic global.

15

Multiplication matricielle par tuiles

B14 leçonsPRO

Construisez un GEMM par tuiles en mémoire partagée, nettement plus performant que la version naïve.

16

Réduction parallèle réussie

B14 leçonsPRO

Additionnez efficacement un tableau sur le GPU avec une réduction arborescente.

17

Opérations atomiques pour une concurrence sûre

B14 leçonsPRO

Utilisez des opérations atomiques pour mettre à jour des résultats partagés sans conditions de concurrence.

18

Superposer les tâches avec les flux CUDA

B14 leçonsPRO

Exécutez simultanément des noyaux et des transferts à l’aide de flux qui ne sont pas ceux par défaut.

19

Transferts asynchrones et mémoire épinglée

B14 leçonsPRO

Accélérez les transferts avec de la mémoire hôte épinglée et des copies asynchrones dans les flux.

20

Simplifier avec la mémoire unifiée

B14 leçonsPRO

Utilisez cudaMallocManaged pour disposer d’un pointeur partagé par l’hôte et le périphérique.

21

Régler l’occupation et la configuration de lancement

B24 leçonsPRO

Choisissez la taille des blocs et limitez les ressources pour maximiser l’occupation des SM.

22

Analyser les noyaux avec Nsight

B24 leçonsPRO

Trouvez les goulots d’étranglement grâce aux métriques de Nsight Systems et Nsight Compute.

23

Primitives et échanges au niveau des warps

B24 leçonsPRO

Échangez des données au sein d’un warp avec les intrinsèques de mélange et de vote, sans mémoire partagée.

24

Optimisation avancée des noyaux

B24 leçonsPRO

Appliquez l’ILP, le déroulage des boucles et les chargements vectorisés pour atteindre les performances maximales.

25

Passer à l’échelle sur plusieurs GPU

B24 leçonsPRO

Répartissez les tâches sur plusieurs GPU et transférez directement les données entre eux avec P2P.

26

Accélérer avec cuBLAS et Thrust

B24 leçonsPRO

Appelez les bibliothèques optimisées de NVIDIA pour le GEMM, le tri et les algorithmes parallèles.

27

Parallélisme dynamique et graphes CUDA

B24 leçonsPRO

Lancez des noyaux depuis le périphérique et capturez les tâches dans des graphes CUDA réutilisables.

28

Programmer les cœurs tensoriels

B24 leçonsPRO

Utilisez les cœurs tensoriels en précision mixte via l’API WMMA pour accélérer les calculs matriciels.

29

Déboguer avec cuda-gdb et Sanitizer

B24 leçonsPRO

Identifiez les plantages, les conditions de concurrence et les erreurs mémoire avec les outils de débogage CUDA.

30

Projet final : un pipeline d’images sur GPU

B24 leçonsPRO

Combinez noyaux, flux et profilage pour créer un processeur d’images réellement accéléré par GPU.

FAQ

Questions Fréquemment Posées

Le cours CUDA Academy est-il gratuit ?

Oui. Tu peux commencer le cours CUDA Academy gratuitement et compléter ses leçons interactives sans frais. Un abonnement PRO optionnel déverrouille des outils IA avancés et un certificat partageable.

Ai-je besoin d'expérience préalable pour apprendre CPP ?

Non. Le cours commence par les fondamentaux et progresse graduellement vers des sujets plus avancés, tu peux donc commencer même sans expérience préalable en CPP.

Comment vais-je apprendre CPP sur CoddyKit ?

Tu apprends en faisant. Des leçons interactives courtes associent une explication claire avec un exercice de codage pratique qui s'exécute en temps réel, et un tuteur IA disponible 24h/24 offre une aide personnalisée dès que tu es bloqué.

Puis-je obtenir un certificat en complétant CUDA Academy ?

Oui. Les apprenants PRO peuvent passer un examen et obtenir un certificat de réussite partageable avec un code vérifiable pour le cours CUDA Academy.

Puis-je apprendre CPP sur mon téléphone ?

Oui. CoddyKit est disponible sur le web et sous forme d'applications iOS et Android natives, tu peux donc apprendre CPP sur n'importe quel appareil et ta progression se synchronise entre eux.

Commencez CUDA Academy Maintenant

Rejoignez des milliers d'apprenants maîtrisant la programmation avec des cours alimentés par l'IA.

Commencer Gratuitement →Parcourir Tous les Cours