Threads, blocos e grades
O modelo de execução da GPU.
Threads, blocos e grades é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 2 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 Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
The Smallest Worker
A GPU runs your kernel as many tiny workers. Each single worker is a thread, and it usually handles one piece of data.
Grouping Threads
Threads are organized into a block. Threads in the same block can cooperate and share fast on-chip memory.
All Blocks Together
All the blocks for one kernel launch form the grid. The grid is the full set of workers handling your whole problem.
A Simple Hierarchy
The model nests neatly: threads live in blocks, and blocks live in a grid. Three levels describe every launch.
Each Thread Has an ID
Every thread can ask where it sits. Its index tells it which element of the data it is responsible for.
var tid = thread_idx.xEach Block Has an ID Too
Blocks are numbered as well. A thread combines its block id with its local id to find a unique spot.
var bid = block_idx.xComputing a Global Index
The classic formula maps each thread to one global element. This global index is how kernels split an array.
var i = block_idx.x * block_dim.x + thread_idx.xChoosing Block Size
You pick how many threads sit in a block. A good size keeps the hardware busy without wasting resources.
Choosing Grid Size
The grid must cover all your data. You size it so threads times blocks reach every element you need.
var blocks = (n + 255) // 256Guarding the Edges
The grid often launches a few extra threads. A simple bounds check stops them from touching memory past the end.
if i < n:
out[i] = a[i] + b[i]Why This Shape Helps
Blocks let groups share memory and sync, while the grid scales to any size. The structure maps work onto hardware cleanly.
Quick Check
A thread needs the position of its element across the whole array.
Recap
Threads group into blocks, blocks form the grid, and combining their ids gives each worker a unique global index. 🧵
Perguntas Frequentes
A aula “Threads, blocos e grades” é grátis?
Sim — o texto completo de “Threads, blocos e grades” é 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 Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.
O que vou aprender em “Threads, blocos e grades”?
O modelo de execução da GPU. Você pratica Mojo 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 Mojo Academy?
Nenhuma experiência prévia é necessária. Mojo 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 2 de 4.
Quanto tempo leva a aula “Threads, blocos e grades”?
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 Mojo Academy?
Sim. Cada aula de Mojo 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
- Por que usar GPUs em cargas de trabalho de IA
- Threads, blocos e grades
- Escrevendo uma função de kernel para GPU
- Movendo dados de e para o dispositivo