CUDA Academy · Lezione

Eseguire passo passo i kernel in cuda-gdb

Breakpoint e analisi per thread

Lezione 1 di 413 passaggi

Eseguire passo passo i kernel in cuda-gdb è una lezione CUDA Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento CUDA Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CUDA Academy include 4 lezioni in totale.

Presentazione di cuda-gdb

Quando un kernel si comporta in modo anomalo, cuda-gdb Le permette di metterlo in pausa e di esaminarlo, proprio come gdb fa con i normali programmi CPU. 🔍

Compilare con le informazioni di debug

cuda-gdb ha bisogno dei simboli, quindi compili il kernel con -G per aggiungere tutte le informazioni di debug del device prima di eseguire il debug.

nvcc -g -G vecadd.cu -o vecadd

Perché -G è importante

Il flag -G disabilita molte ottimizzazioni, così numeri di riga e variabili restano accurati e l'esecuzione passo passo del codice del device diventa affidabile.

Avviare il debugger

Avvii una sessione passando il binario a cuda-gdb, quindi digiti run per eseguirlo sotto il controllo del debugger.

cuda-gdb ./vecadd

Impostare un breakpoint in un kernel

Inserisca un breakpoint direttamente nel kernel specificando il nome della funzione, così l'esecuzione si interromperà non appena un thread la raggiunge.

(cuda-gdb) break vecAddKernel

Molti thread, un'unica pausa

Migliaia di thread potrebbero raggiungere quel breakpoint, quindi cuda-gdb si arresta e si concentra su un thread alla volta per consentirne l'analisi.

Eseguire passo passo

Utilizzi next per eseguire la riga corrente e fermarsi su quella successiva, esaminando passo dopo passo la logica del kernel.

(cuda-gdb) next

Esaminare una variabile

Verifichi ciò che un thread ha effettivamente calcolato chiedendo a cuda-gdb di eseguire print su una variabile locale mentre il kernel è in pausa.

(cuda-gdb) print i

Cambiare il thread selezionato

Sposti l'attenzione su un thread specifico con cuda thread, scegliendo esattamente il blocco e la lane da esaminare.

(cuda-gdb) cuda block 0 thread 5

Leggere gli indici integrati

Può stampare threadIdx e blockIdx proprio come normali variabili, verificando esattamente quale elemento dei dati gestisce il thread.

(cuda-gdb) print threadIdx.x

Riprendere l'esecuzione

Quando ha terminato l'analisi, digiti continue per riprendere il programma fino al breakpoint successivo o fino al suo completamento.

(cuda-gdb) continue

Controllo rapido

Quale flag del compilatore aggiunge le informazioni di debug del device per cuda-gdb?

Riepilogo

Ha compilato con -G, impostato un breakpoint nel kernel, eseguito le righe passo passo, cambiato thread e stampato gli indici. Questo è il ciclo fondamentale di cuda-gdb. 🎉

Gratis per iniziare

Impara C++ con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Eseguire passo passo i kernel in cuda-gdb» è gratuita?

Sì — il testo completo di «Eseguire passo passo i kernel in cuda-gdb» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso CUDA Academy, passa a CoddyKit PRO. Il corso CUDA Academy include 4 lezioni in totale.

Cosa imparerò in «Eseguire passo passo i kernel in cuda-gdb»?

Breakpoint e analisi per thread Eserciti CUDA Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare CUDA Academy?

Non è richiesta alcuna esperienza precedente. CUDA Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Eseguire passo passo i kernel in cuda-gdb»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione CUDA Academy?

Sì. Ogni lezione CUDA Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Eseguire passo passo i kernel in cuda-gdb
  2. Trovare le perdite con memcheck
  3. Cercare le race con racecheck
  4. Rilevare gli errori di sincronizzazione con synccheck
← Torna a CUDA Academy