Parcourir les noyaux pas à pas dans cuda-gdb
Points d’arrêt et inspection par thread
Parcourir les noyaux pas à pas dans cuda-gdb est une leçon CUDA Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CUDA Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CUDA Academy comprend 4 leçons au total.
Découvrez cuda-gdb
Lorsqu'un kernel se comporte mal, cuda-gdb vous permet de le mettre en pause et de regarder à l'intérieur, comme gdb le fait pour les programmes ordinaires du CPU. 🔍
Compilez avec les informations de débogage
cuda-gdb a besoin de symboles : compilez donc votre kernel avec -G pour ajouter toutes les informations de débogage du périphérique avant de commencer le débogage.
nvcc -g -G vecadd.cu -o vecaddPourquoi -G est important
L'option -G désactive de nombreuses optimisations afin que les numéros de ligne et les variables restent exacts, ce qui rend le parcours pas à pas du code du périphérique fiable.
Lancez le débogueur
Commencez une session en transmettant votre binaire à cuda-gdb, puis saisissez run pour l'exécuter sous le contrôle du débogueur.
cuda-gdb ./vecaddDéfinissez un point d'arrêt dans un kernel
Placez un point d'arrêt directement dans le kernel en indiquant le nom de la fonction, afin que l'exécution se mette en pause dès qu'un thread l'atteint.
(cuda-gdb) break vecAddKernelDe nombreux threads, un seul arrêt
Des milliers de threads peuvent atteindre ce point d'arrêt ; cuda-gdb s'arrête donc et se concentre sur un thread à la fois pour l'inspecter.
Avancez ligne par ligne
Utilisez next pour exécuter la ligne actuelle et vous arrêter à la suivante, en parcourant progressivement la logique de votre kernel.
(cuda-gdb) nextInspectez une variable
Vérifiez ce qu'un thread a réellement calculé en demandant à cuda-gdb d'afficher une variable locale pendant que l'exécution est en pause dans le kernel.
(cuda-gdb) print iChangez de thread ciblé
Déplacez l'attention vers un thread précis avec cuda thread, en choisissant exactement le bloc et la lane que vous souhaitez inspecter.
(cuda-gdb) cuda block 0 thread 5Lisez les indices intégrés
Vous pouvez afficher threadIdx et blockIdx comme des variables ordinaires, afin de confirmer exactement quel élément de données ce thread traite.
(cuda-gdb) print threadIdx.xReprenez l'exécution
Lorsque vous avez terminé votre inspection, saisissez continue pour reprendre le programme jusqu'au prochain point d'arrêt ou jusqu'à sa fin.
(cuda-gdb) continueVérification rapide
Quelle option du compilateur ajoute les informations de débogage du périphérique pour cuda-gdb ?
Récapitulatif
Vous avez compilé avec -G, défini un point d'arrêt dans un kernel, parcouru les lignes, changé de thread et affiché les indices. C'est la boucle fondamentale de cuda-gdb. 🎉
Apprends C++ avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Parcourir les noyaux pas à pas dans cuda-gdb » est-elle gratuite ?
Oui — le texte complet de « Parcourir les noyaux pas à pas dans cuda-gdb » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CUDA Academy, passe à CoddyKit PRO. Le cours CUDA Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Parcourir les noyaux pas à pas dans cuda-gdb » ?
Points d’arrêt et inspection par thread Tu pratiques CUDA Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer CUDA Academy ?
Aucune expérience préalable n'est requise. CUDA Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Parcourir les noyaux pas à pas dans cuda-gdb » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon CUDA Academy ?
Oui. Chaque leçon CUDA Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Parcourir les noyaux pas à pas dans cuda-gdb
- Trouver les fuites avec memcheck
- Traquer les courses avec racecheck
- Détecter les erreurs de synchronisation avec synccheck