0Pricing
CUDA Academy · Aula

Percorrendo kernels no cuda-gdb

Pontos de interrupção e inspeção por thread.

Percorrendo kernels no cuda-gdb é uma aula grátis de CUDA Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CUDA Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CUDA Academy inclui 4 aulas no total.

Conheça o cuda-gdb

Quando um kernel apresenta comportamento incorreto, o cuda-gdb permite pausá-lo e examiná-lo internamente, assim como o gdb faz com programas comuns de CPU. 🔍

Compile com informações de depuração

O cuda-gdb precisa de símbolos; portanto, compile seu kernel com -G para adicionar informações completas de depuração do dispositivo antes de depurar.

nvcc -g -G vecadd.cu -o vecadd

Por que -G é importante

O sinalizador -G desativa muitas otimizações para que os números das linhas e as variáveis permaneçam precisos, tornando confiável percorrer o código do dispositivo passo a passo.

Inicie o depurador

Inicie uma sessão fornecendo seu binário ao cuda-gdb e, em seguida, digite run para executá-lo sob o controle do depurador.

cuda-gdb ./vecadd

Defina um ponto de interrupção em um kernel

Coloque um ponto de interrupção dentro do kernel informando o nome da função, para que a execução seja interrompida assim que uma thread chegar a esse ponto.

(cuda-gdb) break vecAddKernel

Muitas threads, uma pausa

Milhares de threads podem atingir esse ponto de interrupção; por isso, o cuda-gdb interrompe a execução e se concentra em uma thread por vez para inspeção.

Percorra linha por linha

Use next para executar a linha atual e pausar na seguinte, percorrendo a lógica do seu kernel passo a passo.

(cuda-gdb) next

Inspecione uma variável

Verifique o que uma thread realmente calculou pedindo ao cuda-gdb para print uma variável local enquanto você está pausado dentro do kernel.

(cuda-gdb) print i

Alterne a thread em foco

Mude o foco para uma thread específica com cuda thread, escolhendo exatamente o bloco e a lane que deseja inspecionar.

(cuda-gdb) cuda block 0 thread 5

Leia os índices integrados

Você pode imprimir threadIdx e blockIdx assim como variáveis comuns, confirmando exatamente qual elemento de dados essa thread processa.

(cuda-gdb) print threadIdx.x

Continue a execução

Quando terminar de examinar o código, digite continue para retomar o programa até o próximo ponto de interrupção ou até que ele termine.

(cuda-gdb) continue

Verificação rápida

Qual sinalizador do compilador adiciona informações de depuração do dispositivo para o cuda-gdb?

Recapitulação

Você compilou com -G, definiu um ponto de interrupção no kernel, percorreu as linhas, alternou entre threads e imprimiu índices. Esse é o ciclo básico do cuda-gdb. 🎉

Perguntas Frequentes

A aula “Percorrendo kernels no cuda-gdb” é grátis?

Sim — o texto completo de “Percorrendo kernels no cuda-gdb” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CUDA Academy, atualize para CoddyKit PRO. O curso de CUDA Academy inclui 4 aulas no total.

O que vou aprender em “Percorrendo kernels no cuda-gdb”?

Pontos de interrupção e inspeção por thread. Você pratica CUDA Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar CUDA Academy?

Nenhuma experiência prévia é necessária. CUDA Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Percorrendo kernels no cuda-gdb”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de CUDA Academy?

Sim. Cada aula de CUDA Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Percorrendo kernels no cuda-gdb
  2. Encontrando vazamentos com memcheck
  3. Caçando condições de corrida com racecheck
  4. Detectando erros de sincronização com synccheck
← Voltar para CUDA Academy