Escolha o número de threads por bloco
Valores padrão razoáveis, como 128 e 256.
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. 🏁
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
- A hierarquia de threads
- threadIdx, blockIdx, blockDim
- Por que existem blocos
- Escolha o número de threads por bloco