CUDA Academy · Aula

Escolha o número de threads por bloco

Valores padrão razoáveis, como 128 e 256.

Aula 4 de 413 etapas

Escolha o número de threads por bloco é uma aula grátis de CUDA Academy no CoddyKit. Esta é a aula 4 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.

Uma decisão real

Ao iniciar um núcleo, você precisa escolher quantas threads por bloco usará. Essa pequena escolha afeta o desempenho real. 🎚️

Múltiplos de 32

A GPU executa threads em grupos de 32 chamados warps, portanto escolha sempre um múltiplo de 32. Tamanhos ímpares desperdiçam lanes em um warp parcial.

Valores padrão seguros

Boas primeiras tentativas são 128 ou 256 threads por bloco. Elas são múltiplos de 32 e funcionam bem em quase todas as GPU.

int threadsPerBlock = 256;

O limite superior rígido

Um bloco pode conter no máximo 1024 threads nas GPU atuais. Se você solicitar mais, a execução simplesmente falhará com um erro.

Poucas threads demais

Blocos muito pequenos, como os de 32 threads, podem deixar a GPU subutilizada. O escalonador terá menos warps para ocultar a latência da memória.

Threads demais

Blocos enormes podem ficar sem registradores ou memória compartilhada, fazendo com que menos blocos caibam por multiprocessador. Maior nem sempre é melhor.

Calculando a quantidade de blocos

Depois de definir a quantidade de threads por bloco, arredonde para cima a quantidade de blocos para cobrir cada elemento, mesmo quando a divisão não for exata.

int blocks = (n + threadsPerBlock - 1) / threadsPerBlock;

Sempre adicione uma verificação de limites

Arredondar para cima significa que existirão algumas threads extras. Proteja seu núcleo com um if para que elas não acessem memória além do fim da matriz.

if (i < n) out[i] = a[i] + b[i];

Deixe CUDA sugerir um tamanho

Você pode pedir automaticamente a CUDA um bom tamanho de bloco usando o auxiliar de ocupação e, depois, ajustar a partir da sugestão.

cudaOccupancyMaxPotentialBlockSize(&grid, &block, kernel);

Meça, não chute

O melhor tamanho depende realmente do seu núcleo e da sua GPU. Comece com 256, faça um benchmark de alguns valores e mantenha o mais rápido.

Uma regra prática

Para a maioria dos núcleos de iniciantes, 256 threads por bloco junto com uma quantidade de blocos arredondada para cima é um ponto de partida confiável e rápido.

Verificação rápida

Escolha a opção mais adequada para a quantidade de threads por bloco.

Recapitulação: dimensionando seus blocos

Você aprendeu a dimensionar blocos: usar múltiplos de 32, adotar 256 como padrão, ficar abaixo de 1024, arredondar para cima a quantidade de blocos e fazer benchmark. 🏁

Grátis para começar

Aprenda C++ com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Escolha o número de threads por bloco” é grátis?

Sim — o texto completo de “Escolha o número de threads por bloco” é 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 “Escolha o número de threads por bloco”?

Valores padrão razoáveis, como 128 e 256. 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 4 de 4.

Quanto tempo leva a aula “Escolha o número de threads por bloco”?

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. A hierarquia de threads
  2. threadIdx, blockIdx, blockDim
  3. Por que existem blocos
  4. Escolha o número de threads por bloco
← Voltar para CUDA Academy