CUDA Academy · Les

Hints via cudaMemAdvise

Stuur de keuzes van de driver voor gegevensplaatsing.

Les 4 van 413 stappen

Hints via cudaMemAdvise is een gratis CUDA Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CUDA Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CUDA Academy bevat in totaal 4 lessen.

Adviseren, niet bevelen

Prefetchen verplaatst gegevens nu; cudaMemAdvise vertelt de driver daarentegen hoe je van plan bent een gebied te gebruiken, zodat de driver pagina's in de loop van de tijd slim kan plaatsen.

De vorm van de aanroep

Je geeft de pointer, het aantal bytes, een advies-vlag en een apparaat-id door. De driver verwerkt die aanwijzing in zijn toekomstige migratiebeslissingen.

cudaMemAdvise(data, bytes, advice, device);

ReadMostly voor delen

Gebruik cudaMemAdviseSetReadMostly voor gegevens die door veel apparaten worden gelezen maar zelden worden beschreven. De driver kan op beide apparaten alleen-lezenkopieën behouden om migratie te voorkomen.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetReadMostly, dev);

PreferredLocation bepaalt een thuisbasis

Met cudaMemAdviseSetPreferredLocation wijs je een thuisapparaat voor de pagina's aan. Ze blijven daar zoveel mogelijk, ook wanneer een ander apparaat ze gebruikt.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetPreferredLocation, dev);

AccessedBy slaat migratie over

cudaMemAdviseSetAccessedBy geeft aan dat een apparaat dit gebied zal benaderen, zodat de driver het daar in kaart brengt. De toegang verloopt via de bus in plaats van door pagina's te verplaatsen.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetAccessedBy, dev);

Aanwijzingen stoppen het heen-en-weer verplaatsen

Wanneer twee apparaten om dezelfde pagina's strijden, maakt het juiste advies een einde aan het heen-en-weer bewegen. Je stabiliseert de plaatsing, zodat gegevens niet steeds heen en weer worden gemigreerd.

Advies blijft actief

In tegenstelling tot een eenmalige prefetch blijft advies op het gebied behouden totdat je het wijzigt. Het beïnvloedt elke migratiekeuze gedurende de levensduur van de buffer.

Elk advies heeft een Unset-variant

Elke Set-vlag heeft een bijbehorende vorm met Unset om de aanwijzing in te trekken. Wis het advies wanneer het toegangspatroon verandert, zodat het de driver niet misleidt.

cudaMemAdvise(data, bytes,
  cudaMemAdviseUnsetReadMostly, dev);

Advies plus prefetch

De twee hulpmiddelen vullen elkaar goed aan. Stel PreferredLocation in om de thuisbasis te bepalen, prefetchen daarnaar om die te vullen en migraties komen in een stabiel patroon terecht.

Het blijft maar een aanwijzing

Onthoud wat de naam zegt: advies is een suggestie, geen garantie. De driver kan het negeren, dus gebruik altijd profiling om te controleren of de plaatsing heeft geholpen.

Je gereedschapskist voor Unified Memory

Je beschikt nu over drie regelaars: één beheerde pointer, prefetch voor timing en advies voor plaatsing. Samen maken ze Unified Memory zowel eenvoudig als snel.

Korte controle

Laten we bevestigen waarin cudaMemAdvise verschilt van prefetchen.

Samenvatting: geheugenadvies

Je hebt aanwijzingen van cudaMemAdvise geleerd, zoals ReadMostly, PreferredLocation en AccessedBy, om de plaatsing van pagina's te sturen. Combineer dit met prefetchen en profiling. Goed gedaan! 🎯

Gratis beginnen

Leer C++ met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Hints via cudaMemAdvise” gratis?

Ja — de volledige tekst van “Hints via cudaMemAdvise” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CUDA Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CUDA Academy bevat in totaal 4 lessen.

Wat leer ik in “Hints via cudaMemAdvise”?

Stuur de keuzes van de driver voor gegevensplaatsing. Je oefent met CUDA Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CUDA Academy te beginnen?

Ervaring vooraf is niet nodig. CUDA Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Hints via cudaMemAdvise”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CUDA Academy?

Ja. Elke les over CUDA Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Eén pointer, beide kanten
  2. Paginamigratie op aanvraag
  3. Prefetchen met cudaMemPrefetchAsync
  4. Hints via cudaMemAdvise
← Terug naar CUDA Academy