Transferencias del dispositivo al host
Descargue los resultados de vuelta a la CPU.
Transferencias del dispositivo al host es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CUDA Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CUDA Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Bringing Results Home
Your kernel just filled a device buffer with answers, but the CPU cannot read GPU memory directly. You must download the results back. 📥
The Download Direction
To pull data back you use cudaMemcpyDeviceToHost. Now the source is device memory and the destination is host RAM.
cudaMemcpy(h_c, d_c, bytes, cudaMemcpyDeviceToHost);Destination Still First
The rule never changes: destination argument first, source second. For a download, the host pointer leads.
cudaMemcpy(h_dst, d_src, bytes, cudaMemcpyDeviceToHost);Host Buffer Must Exist
The destination needs real CPU memory waiting for it. Allocate host storage with malloc or new before you copy back.
float* h_c = (float*)malloc(bytes);Wait for the Kernel
A blocking cudaMemcpy waits for prior work in the default stream, so the kernel finishes before any results are read.
myKernel<<<blocks, threads>>>(d_c, n);
cudaMemcpy(h_c, d_c, bytes, cudaMemcpyDeviceToHost);Same Byte Count
Download exactly as many bytes as you uploaded and computed. Mismatched sizes give you truncated or garbage results.
size_t bytes = n * sizeof(float);Now You Can Read It
Once the copy returns, the values live in normal CPU memory. You can print, check, or save them like any host array.
printf("%f\n", h_c[0]);The Round Trip
A full GPU job is a round trip: upload inputs, launch the kernel, then download outputs. Each leg uses cudaMemcpy.
Verify Before You Trust
After downloading, compare the GPU result against a quick CPU reference. Verification catches bugs before they spread. ✅
Free What You Allocated
When results are home, release both sides: cudaFree the device buffer and free the host buffer to avoid leaks.
cudaFree(d_c);
free(h_c);Downloads Cost Time Too
The return trip crosses the same slow bus, so only copy back the results you actually need on the host.
Quick Check
Your kernel wrote results into device buffer d_c. How do you read them on the CPU?
Recap
You learned the return trip with cudaMemcpyDeviceToHost: allocate host storage, host pointer first, wait for the kernel, then verify and free. 🎉
Preguntas frecuentes
¿La lección «Transferencias del dispositivo al host» es gratis?
Sí — el texto completo de «Transferencias del dispositivo al host» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CUDA Academy, actualiza a CoddyKit PRO. El curso de CUDA Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Transferencias del dispositivo al host»?
Descargue los resultados de vuelta a la CPU. Practicas CUDA Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar CUDA Academy?
No se requiere experiencia previa. CUDA Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Transferencias del dispositivo al host»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de CUDA Academy?
Sí. Cada lección de CUDA Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Transferencias del host al dispositivo
- Transferencias del dispositivo al host
- El enum de dirección de copia
- El cuello de botella de transferencia PCIe