0Pricing
CUDA Academy · Aula

Transferências do dispositivo para o hospedeiro

Baixe os resultados de volta para a CPU.

Transferências do dispositivo para o hospedeiro é 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.

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. 🎉

Perguntas Frequentes

A aula “Transferências do dispositivo para o hospedeiro” é grátis?

Sim — o texto completo de “Transferências do dispositivo para o hospedeiro” é 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 “Transferências do dispositivo para o hospedeiro”?

Baixe os resultados de volta para a CPU. 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 “Transferências do dispositivo para o hospedeiro”?

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

  1. Transferências do hospedeiro para o dispositivo
  2. Transferências do dispositivo para o hospedeiro
  3. O enumerador da direção de cópia
  4. O gargalo de transferência do PCIe
← Voltar para CUDA Academy