Plan du cours

Introduction

  • Qu'est-ce que la programmation GPU ?
  • Pourquoi utiliser CUDA avec Python ?
  • Concepts clés : Threads, Blocs, Grilles

Aperçu des fonctionnalités et de l'architecture CUDA

  • GPU vs architecture CPU
  • Comprendre SIMT (Single Instruction, Multiple Threads)
  • Modèle de programmation CUDA

Mise en place de l'environnement de développement

  • Installation du Toolkit CUDA et des pilotes
  • Installation de Python et Numba
  • Configuration et vérification de l'environnement

Fondamentaux de l'exécution parallèle Programming

  • Introduction à l'exécution parallèle
  • Comprendre les threads et la hiérarchie des threads
  • Travailler avec les warps et la synchronisation

Travailler avec le compilateur Numba

  • Introduction à Numba
  • Rédaction de noyaux CUDA avec Numba
  • Comprendre les décorateurs @cuda.jit

Création d'un noyau CUDA personnalisé

  • Rédaction et lancement d'un noyau de base
  • Utilisation des threads pour les opérations élément par élément
  • Gestion des dimensions de la grille et du bloc

Mémoire Management

  • Types de mémoire GPU (globale, partagée, locale, constante)
  • Transfert de mémoire entre l'hôte et le dispositif
  • Optimisation de l'utilisation de la mémoire et évitement des bouteilles de goulot

Sujets avancés dans l'accélération GPU

  • Mémoire partagée et synchronisation
  • Utilisation des flux pour l'exécution asynchrone
  • Bases du mult-GPU programmation

Conversion d'applications basées sur CPU en GPU

  • Profilage du code CPU
  • Identification des sections parallélisables
  • Portage de la logique vers les noyaux CUDA

Dépannage

  • Débogage d'applications CUDA
  • Erreurs courantes et méthodes de résolution
  • Outils et techniques pour le test et la validation

Récapitulation et prochaines étapes

  • Revision des concepts clés
  • Bonnes pratiques en programmation GPU
  • Ressources pour une formation continue

Pré requis

  • Python expérience en programmation
  • Expérience avec NumPy (ndarrays, ufuncs, etc.)

Audience

  • Développeurs
 14 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires