0Pricing
CUDA Academy · Leçon

Pointeurs vers la mémoire du GPU

Les pointeurs d’appareil résident dans des variables hôtes.

Pointeurs vers la mémoire du GPU est une leçon CUDA Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.

A Pointer That Lives on the CPU

cudaMalloc hands you a normal C++ pointer variable. It sits in host memory, but the address inside it points into GPU memory. 🔗

The Address Means the Device

A device pointer holds a number that is only valid in the GPU's address space. To the CPU it is just an integer, not real RAM.

float* d_data;  // host variable, device address

The d_ Naming Habit

Programmers prefix device pointers with d_ and host pointers with h_. The name alone reminds you which side each one belongs to.

float* h_data;
float* d_data;

Do Not Dereference on the Host

Writing *d_data in CPU code is a trap. The host cannot touch GPU memory directly, so this crashes or reads nonsense.

Kernels Dereference It Freely

Inside a kernel the same device pointer is perfectly valid. There, d_data[i] reads and writes real GPU memory as you expect.

__global__ void k(float* d) {
    d[0] = 1.0f;
}

Pass It Into the Kernel

You hand the device pointer to a kernel as an argument. The GPU then uses that address to find your data.

myKernel<<<grid, block>>>(d_data);

Two Pointers, Two Spaces

Keep host and device pointers strictly apart. A host pointer is meaningless on the GPU, and a device pointer is meaningless on the CPU.

cudaMemcpy Bridges the Gap

To get data between the two, you copy it. cudaMemcpy takes both pointers and moves bytes across the divide for you.

Pointer Arithmetic Still Works

You may offset a device pointer on the host, like d_data + n, to point at a slice. You just must not read through it there.

float* d_tail = d_data + 100;

Mixing Them Up Is Subtle

The compiler will not stop you from confusing the two. Many CUDA bugs are simply a host pointer handed where a device pointer belonged.

Discipline Beats Debugging

Clear naming and a fixed convention save hours. Decide your d_ and h_ scheme early and never break it. 🧹

Quick Check

Let us test where a device pointer can safely be dereferenced.

Recap

You learned a device pointer lives in a host variable but addresses GPU memory: usable inside kernels, off-limits to direct host access. 🎉

Questions Fréquemment Posées

La leçon « Pointeurs vers la mémoire du GPU » est-elle gratuite ?

Oui — le texte complet de « Pointeurs vers la mémoire du GPU » 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 « Pointeurs vers la mémoire du GPU » ?

Les pointeurs d’appareil résident dans des variables hôtes. 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 2 sur 4.

Combien de temps prend la leçon « Pointeurs vers la mémoire du GPU » ?

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. cudaMalloc et cudaFree
  2. Pointeurs vers la mémoire du GPU
  3. cudaMemset pour l’initialisation
  4. Éviter les fuites et les doubles libérations
← Retour à CUDA Academy