0Pricing
CUDA Academy · Leçon

Accès mémoire pair à pair

Copies directes de GPU à GPU via NVLink

Accès mémoire pair à pair 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 Slow Detour

Moving data from one GPU to another usually bounces through the CPU's memory first. That round trip is slow and wastes the host's bandwidth.

GPUs Talking Directly

Modern GPUs can skip the CPU entirely. Peer-to-peer access lets one GPU read and write another's memory over a direct link.

The NVLink Highway

The fast link between cards is often NVLink, far quicker than the shared PCIe bus. P2P transfers ride this highway when it is available.

Check Before You Trust

Not every pair of GPUs can do P2P. Ask first with cudaDeviceCanAccessPeer, which reports whether one device may reach another.

int can;
cudaDeviceCanAccessPeer(&can, 0, 1);

Turn On Access

Permission is off by default. While GPU 0 is current, call cudaDeviceEnablePeerAccess to let it reach into GPU 1's memory.

cudaSetDevice(0);
cudaDeviceEnablePeerAccess(1, 0);

Access Is One-Way

Enabling peer access grants only the direction you ask for. For GPU 1 to read GPU 0, you must enable that direction too, from device 1.

Copying Peer to Peer

To move a buffer directly between cards, use cudaMemcpyPeer. You name the destination pointer and device plus the source pointer and device.

cudaMemcpyPeer(dst, 1, src, 0, bytes);

Kernels Reading Across

With access enabled, a kernel on GPU 0 can dereference a pointer that lives on GPU 1. The hardware fetches it over the peer link transparently.

When P2P Is Not There

If two cards cannot peer, the runtime quietly falls back to staging through host memory. You still get a copy, just at the slower PCIe rate.

Async Peer Copies

Peer transfers can overlap other work. Pair cudaMemcpyPeerAsync with a stream so the copy runs while kernels keep computing.

cudaMemcpyPeerAsync(dst, 1, src, 0, bytes, stream);

Turn It Off When Done

Peer access uses resources, so release it when finished. cudaDeviceDisablePeerAccess tears down the link you opened earlier.

cudaDeviceDisablePeerAccess(1);

Quick Check

Recall the benefit of peer-to-peer access between two GPUs.

Recap

P2P lets GPUs share memory directly, ideally over NVLink. Check support, enable access per direction, then use cudaMemcpyPeer. Next: scaling with NCCL. ✨

Questions Fréquemment Posées

La leçon « Accès mémoire pair à pair » est-elle gratuite ?

Oui — le texte complet de « Accès mémoire pair à pair » 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 « Accès mémoire pair à pair » ?

Copies directes de GPU à GPU via NVLink 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 « Accès mémoire pair à pair » ?

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. Énumérer et sélectionner les appareils
  2. Répartir le travail entre les GPU
  3. Accès mémoire pair à pair
  4. Multi-GPU avec NCCL
← Retour à CUDA Academy