0Pricing
CUDA Academy · Leçon

Énumération de la direction de copie

Utilisez cudaMemcpyKind correctement.

Énumération de la direction de copie est une leçon CUDA Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CUDA Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CUDA Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

The Fourth Argument

Every cudaMemcpy ends with a direction flag of type cudaMemcpyKind. It tells the runtime which way the bytes travel. 🧭

cudaMemcpy(dst, src, bytes, kind);

Host to Device

Use cudaMemcpyHostToDevice to upload inputs from CPU RAM into GPU memory before a kernel runs.

cudaMemcpy(d_a, h_a, bytes, cudaMemcpyHostToDevice);

Device to Host

Use cudaMemcpyDeviceToHost to download results from GPU memory back into CPU RAM after computing.

cudaMemcpy(h_c, d_c, bytes, cudaMemcpyDeviceToHost);

Device to Device

To copy between two GPU buffers without touching the CPU, reach for cudaMemcpyDeviceToDevice.

cudaMemcpy(d_b, d_a, bytes, cudaMemcpyDeviceToDevice);

Host to Host

There is even cudaMemcpyHostToHost, a plain CPU copy. You rarely need it since standard memcpy already does the job.

Let the Driver Decide

With cudaMemcpyDefault, the runtime infers direction from the pointers. It needs unified addressing to work safely.

cudaMemcpy(dst, src, bytes, cudaMemcpyDefault);

The Direction Must Match

The flag must agree with your real pointers. A device pointer with a HostToHost kind triggers an error or a crash.

A Common Mix-Up

Swapping HostToDevice and DeviceToHost is a frequent bug. The compiler stays silent, so read each call carefully. 🐛

Read It Like a Sentence

The enum name spells the data flow: HostToDevice means from host to device. Match it to your source and destination.

Pair It With the Pointers

Look at which buffer is the source and which is the destination, then pick the kind that names that exact path.

When in Doubt, Be Explicit

Prefer the named direction over cudaMemcpyDefault. Being explicit makes your intent obvious and catches mistakes sooner.

Quick Check

You are copying one device buffer into another device buffer, never touching the CPU. Which kind fits?

Recap

You met every cudaMemcpyKind: HostToDevice, DeviceToHost, DeviceToDevice, HostToHost, and Default. Match the flag to your pointers every time. 🎉

Questions Fréquemment Posées

La leçon « Énumération de la direction de copie » est-elle gratuite ?

Oui — le texte complet de « Énumération de la direction de copie » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CUDA Academy, passe à CoddyKit PRO. Le cours CUDA Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Énumération de la direction de copie » ?

Utilisez cudaMemcpyKind correctement. Tu pratiques CUDA Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer CUDA Academy ?

Aucune expérience préalable n'est requise. CUDA Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Énumération de la direction de copie » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon CUDA Academy ?

Oui. Chaque leçon CUDA Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Transferts de l’hôte vers l’appareil
  2. Transferts de l’appareil vers l’hôte
  3. Énumération de la direction de copie
  4. Le goulot d’étranglement des transferts PCIe
← Retour à CUDA Academy