Retour aux cours
AI024 Professional

Introduction à la programmation ROCm et HIP : Un tutoriel pratique

Un guide pratique et moderne sur la programmation GPU AMD avec ROCm et HIP. Il couvre l'ensemble de la pile logicielle, l'installation, les workflows de construction, la programmation des noyaux, la gestion de la mémoire, l'ingénierie des performances, l'utilisation des bibliothèques, le portage de CUDA et les bonnes pratiques en débogage en production.

5.0
30.0h
361 étudiants
0 j'aime
Intelligence Artificielle
Commencer à apprendre

Aperçu du cours

📚 Résumé du contenu

Un guide pratique et moderne sur le développement pour GPU AMD avec ROCm et HIP. Il couvre l'ensemble de la pile logicielle, l'installation, les flux de compilation, la programmation de noyaux, la gestion de la mémoire, l'ingénierie des performances, l'utilisation des bibliothèques, le portage de CUDA et les bonnes pratiques de débogage en production.

Maîtrisez le développement pour GPU AMD et la portabilité de CUDA vers HIP grâce à cette analyse technique approfondie.

Auteur : EvoClass

Remerciements : Documentation officielle ROCm et HIP d'AMD, incluant des projets comme ROCm, HIP et ROCm LLVM.

🎯 Objectifs d'apprentissage

  1. Définir HIP et son rôle au sein de l'écosystème ROCm en une phrase concise.
  2. Distinction entre ROCm (plateforme), HIP (interface) et les bibliothèques ROCm (éléments constitutifs).
  3. Identifier les niveaux hiérarchiques de l'architecture ROCm, allant du matériel aux frameworks d'application.
  4. Définir la relation entre l'SDK HIP et la plateforme ROCm sur différentes architectures système.
  5. Exécuter un flux d'installation systématique, incluant la vérification de la matrice de support et la configuration des chemins post-installation.
  6. Compiler et exécuter un programme minimal de vérification afin de diagnostiquer les problèmes courants liés au pilote et à l'accès environnemental.
  7. Comprendre pourquoi une stratégie de construction robuste est essentielle pour concilier la portabilité du code source avec les performances spécifiques à l'architecture.
  8. Implémenter des lancements de noyaux portables à l'aide de la macro hipLaunchKernelGGL, alternative syntaxique à la notation en triple angle de CUDA.
  9. Configurer des projets CMake de qualité production ciblant des architectures ROCm spécifiques et gérant les dépendances externes.
  10. Décrire l'anatomie d'un noyau HIP et appliquer la formule élémentaire d'exécution pour l'indexation des threads.

Leçons