0Pricing
CUDA Academy · Lección

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

  1. Transferencias del host al dispositivo
  2. Transferencias del dispositivo al host
  3. El enum de dirección de copia
  4. El cuello de botella de transferencia PCIe
← Volver a CUDA Academy