Crie e use fluxos
Emita filas de trabalho independentes.
Crie e use fluxos é uma aula grátis de CUDA 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 CUDA Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CUDA Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Independent Work Queues
A non-default stream is your own work queue. Two streams run independently, so the GPU can make progress on both at once. 🧵
The Stream Handle
A stream lives in a cudaStream_t handle. You create it once, pass it to your calls, and destroy it when you are done.
cudaStream_t stream;Creating a Stream
Call cudaStreamCreate to make a fresh stream. It allocates the queue the driver uses to schedule that stream's work.
cudaStreamCreate(&stream);Launching a Kernel in a Stream
A kernel's launch config has a fourth argument: shared memory size, then the stream. Pass your stream to queue the kernel there.
kernel<<<grid, block, 0, stream>>>(d_data);Two Streams, Two Tasks
Put one job on streamA and another on streamB. With no dependency between them, the GPU is free to run both concurrently.
kA<<<g, b, 0, streamA>>>(a);
kB<<<g, b, 0, streamB>>>(d);Async by Nature
Stream calls are asynchronous: the host returns immediately and keeps going. The GPU works through the queue on its own time.
Waiting on One Stream
Use cudaStreamSynchronize to block the host until just that stream finishes, instead of waiting on the whole device.
cudaStreamSynchronize(stream);Checking Without Blocking
Want a peek? cudaStreamQuery returns cudaSuccess if the stream is done and cudaErrorNotReady if it is still busy, without stalling you.
cudaStreamQuery(stream);Cleaning Up
When a stream is no longer needed, release it with cudaStreamDestroy. Pending work still completes before the handle is freed.
cudaStreamDestroy(stream);Non-Blocking Streams
Create a stream with the cudaStreamNonBlocking flag so it does not implicitly synchronize with the legacy default stream.
cudaStreamCreateWithFlags(&s, cudaStreamNonBlocking);More Streams, More Overlap
Spreading independent chunks over several streams lets the scheduler keep the engines fed. Beyond a few, returns diminish as hardware fills up.
Quick Check
How do you queue a kernel into a specific stream?
Recap
You can now create streams, launch kernels in them, sync or query, and destroy them. Independent streams unlock real concurrency. ✨
Perguntas Frequentes
A aula “Crie e use fluxos” é grátis?
Sim — o texto completo de “Crie e use fluxos” é 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 “Crie e use fluxos”?
Emita filas de trabalho independentes. 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 2 de 4.
Quanto tempo leva a aula “Crie e use fluxos”?
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 armadilha do fluxo padrão
- Crie e use fluxos
- Eventos para cronometragem e sincronização
- Sobreponha cópia e cálculo