Streams erstellen und verwenden
Geben Sie unabhängige Arbeitswarteschlangen in Auftrag.
Streams erstellen und verwenden ist eine kostenlose CUDA Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CUDA Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CUDA Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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. ✨
Häufig gestellte Fragen
Ist die Lektion „Streams erstellen und verwenden“ kostenlos?
Ja — der vollständige Text von „Streams erstellen und verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CUDA Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CUDA Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Streams erstellen und verwenden“?
Geben Sie unabhängige Arbeitswarteschlangen in Auftrag. Du übst CUDA Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CUDA Academy zu starten?
Keine Vorkenntnisse erforderlich. CUDA Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Streams erstellen und verwenden“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CUDA Academy-Lektion Code schreiben und ausführen?
Ja. Jede CUDA Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Die Falle des Standard-Streams
- Streams erstellen und verwenden
- Events für Zeitmessung und Synchronisierung
- Kopieren und Berechnen überlappen