CUDA Academy · Oppitunti

Vihjeet cudaMemAdvise-funktiolla

Ohjaa ajurin sijoittelupäätöksiä.

Oppitunti 4/413 vaihetta

Vihjeet cudaMemAdvise-funktiolla on ilmainen CUDA Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu CUDA Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. CUDA Academy-kurssilla on yhteensä 4 oppituntia.

Neuvo, älä käske

Prefetch siirtää dataa heti, kun taas cudaMemAdvise kertoo ajurille, miten aiot käyttää aluetta, jotta se voi sijoittaa sivut ajan mittaan järkevästi.

Kutsun rakenne

Välität osoittimen, tavumäärän, advice-lipun ja laitteen tunnuksen. Ajuri ottaa vihjeen huomioon tulevissa siirtopäätöksissään.

cudaMemAdvise(data, bytes, advice, device);

ReadMostly jakamista varten

Käytä cudaMemAdviseSetReadMostly-asetusta datalle, jota monet laitteet lukevat mutta kirjoittavat harvoin. Ajuri voi pitää vain lukuun tarkoitettuja kopioita kummallakin puolella ja välttää siirrot.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetReadMostly, dev);

PreferredLocation määrittää kotipaikan

Komennolla cudaMemAdviseSetPreferredLocation nimeät sivuille ensisijaisen kotilaitteen. Sivut eivät siirry helposti pois sieltä, vaikka toinen osapuoli käyttäisi niitä.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetPreferredLocation, dev);

AccessedBy ohittaa siirron

cudaMemAdviseSetAccessedBy kertoo, että laite käyttää tätä aluetta, joten ajuri kartoittaa sen kyseiselle laitteelle. Käyttö tapahtuu väylän kautta sivujen siirtämisen sijaan.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetAccessedBy, dev);

Vihjeet estävät edestakaisen siirtelyn

Kun kaksi laitetta kilpailee samoista sivuista, oikea neuvo lopettaa edestakaisen siirtelyn. Vakautat sijoittelun, jolloin data ei enää siirry puolelta toiselle.

Neuvo säilyy voimassa

Toisin kuin kertaluonteinen prefetch, neuvo säilyy alueella, kunnes muutat sitä. Se vaikuttaa kaikkiin siirtopäätöksiin puskurin koko elinkaaren ajan.

Jokaisella neuvolla on Unset-vastine

Jokaisella Set-lipulla on vastaava Unset-muoto, jolla vihje perutaan. Tyhjennä neuvo, kun käyttötapa muuttuu, jotta se ei johda ajuria harhaan.

cudaMemAdvise(data, bytes,
  cudaMemAdviseUnsetReadMostly, dev);

Neuvo ja prefetch yhdessä

Nämä kaksi työkalua sopivat hyvin yhteen. Määritä kotipaikka asettamalla PreferredLocation, täytä se sitten prefetchilla ja anna siirtojen vakiintua tasaiseksi toimintamalliksi.

Loppujen lopuksi vain vihje

Muista nimi: advice on ehdotus, ei takuu. Ajuri voi ohittaa sen, joten tarkista aina profiloinnilla, että sijoittelusta oli hyötyä.

Yhtenäisen muistin työkalupakki

Sinulla on nyt kolme hallintakeinoa: yksi hallittu osoitin, ajoitukseen tarkoitettu prefetch ja sijoitteluun tarkoitettu advise. Yhdessä ne tekevät Unified Memorysta sekä helppokäyttöisen että nopean.

Pikatarkistus

Varmistetaan, miten cudaMemAdvise eroaa prefetchista.

Kertaus: Muistineuvot

Opit käyttämään cudaMemAdvise-vihjeitä, kuten ReadMostly-, PreferredLocation- ja AccessedBy-asetuksia, sivujen sijoittelun ohjaamiseen. Yhdistä ne prefetchiin ja profiloi tulos. Hyvin tehty! 🎯

Aloita maksutta

Opi C++ tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Vihjeet cudaMemAdvise-funktiolla” ilmainen?

Kyllä – oppitunnin ”Vihjeet cudaMemAdvise-funktiolla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko CUDA Academy-kurssin, päivitä CoddyKit PROhon. CUDA Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Vihjeet cudaMemAdvise-funktiolla”?

Ohjaa ajurin sijoittelupäätöksiä. Harjoittelet CUDA Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni CUDA Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin CUDA Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Vihjeet cudaMemAdvise-funktiolla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä CUDA Academy-oppitunnilla?

Kyllä. Jokainen CUDA Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Yksi osoitin, molemmat puolet
  2. Sivujen siirto tarvittaessa
  3. Esilataus cudaMemPrefetchAsyncilla
  4. Vihjeet cudaMemAdvise-funktiolla
← Takaisin: CUDA Academy