Die erste Beschleunigung messen
Messen Sie GPU und CPU bei derselben Aufgabe.
Die erste Beschleunigung messen ist eine kostenlose CUDA Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Now Measure the Win
You have a correct kernel, so the fun question is how much faster it is than the CPU. Measuring turns a guess into a real number. ⏱️
Time the CPU Baseline
Start with a fair baseline: time the same add running in a plain CPU loop. You need something to compare the GPU against.
Don't Time with the Clock Wrong
Avoid timing across a cudaMemcpy you forgot to wait for. The launch is asynchronous, so naive timers can report nonsense.
Use CUDA Events
The right tool is a pair of cudaEvent objects. They record GPU timestamps directly on the device for accurate kernel timing.
cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);Bracket the Kernel
Record start just before the launch and stop just after. The events queue in the stream alongside your kernel.
cudaEventRecord(start);
vecAdd<<<blocks, threads>>>(d_A, d_B, d_C, n);
cudaEventRecord(stop);Wait, Then Read
Call cudaEventSynchronize on stop so the CPU waits for the GPU. Only then is the elapsed time ready to read.
cudaEventSynchronize(stop);
float ms = 0;
cudaEventElapsedTime(&ms, start, stop);Warm Up First
The very first launch pays one-time setup costs. Run a throwaway warm-up launch before timing so those costs do not skew your number.
Average Several Runs
A single sample is noisy, so time the kernel a few times and take the average. Stable numbers make speedup claims trustworthy.
Count the Copies
Be honest about what you measure. Kernel-only time looks amazing, but real speedup must include the PCIe transfers too.
Compute the Speedup
Speedup is simply CPU time divided by GPU time. A small array may even be slower on the GPU once copies are counted.
float speedup = cpu_ms / gpu_ms;Bigger Arrays Win More
The GPU shines when there is enough work to hide transfer cost. Grow n and watch the speedup climb as parallelism dominates. 📈
Quick Check
Which tool gives accurate GPU kernel timing?
Recap
You measured your first speedup with CUDA events: warm up, bracket the kernel, sync, and divide CPU by GPU time. Bigger problems, bigger wins. 🎉
Häufig gestellte Fragen
Ist die Lektion „Die erste Beschleunigung messen“ kostenlos?
Ja — der vollständige Text von „Die erste Beschleunigung messen“ 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 „Die erste Beschleunigung messen“?
Messen Sie GPU und CPU bei derselben Aufgabe. 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 4 von 4.
Wie lange dauert die Lektion „Die erste Beschleunigung messen“?
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
- Der Vector-Add-Kernel
- Die Host-Seite verdrahten
- Das Ergebnis auf der CPU prüfen
- Die erste Beschleunigung messen