CUDA Academy · Oppitunti

Laskenta- ja muistirajoitteiset tehtävät

Lue roofline-kaaviota korjausten suunnittelua varten.

Oppitunti 3/413 vaihetta

Laskenta- ja muistirajoitteiset tehtävät on ilmainen CUDA Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.

Kahdenlaiset rajoitteet

Jokainen kerneli törmää jompaankumpaan kahdesta rajasta. Se on joko laskentariippuvainen, jolloin matematiikka rajoittaa sitä, tai muistiriippuvainen, jolloin datan siirtäminen rajoittaa sitä. ⚖️

Laskentariippuvainen – määritelmä

Laskentariippuvainen kerneli pitää laskentayksiköt kiireisinä ja odottaa harvoin muistia. Sen rajoite on aritmeettinen raakaläpimeno.

Muistiriippuvainen – määritelmä

Muistiriippuvainen kerneli käyttää aikansa datan odottamiseen. Ytimet ovat käyttämättöminä, kun tavut saapuvat hitaasti globaalista muistista.

Aritmeettinen intensiteetti

Keskeinen suhdeluku on aritmeettinen intensiteetti: ladattua tavua kohden tehtyjen laskutoimitusten määrä. Suuri intensiteetti viittaa laskentaan, pieni muistiin.

Roofline-kuvaaja

Roofline-kuvaajassa pienen intensiteetin kernelit osuvat kaltevaan muistikattoon, kun taas suuren intensiteetin kernelit osuvat tasaiseen laskentakattoon.

Miksi diagnosointi on tärkeää

Väärän rajan korjaaminen on hukkaan heitettyä työtä. Matematiikan lisääminen muistiriippuvaiseen kerneliin ei muuta mitään, vaan dataliikennettä on vähennettävä.

Muistiriippuvaisten kernelien korjaaminen

Muistiriippuvaisen kernelin nopeuttamiseksi yhdistäkää muistipääsyt, käyttäkää dataa uudelleen jaetussa muistissa ja tallentakaa arvoja välimuistiin lukemisen vähentämiseksi.

Laskentariippuvaisten kernelien korjaaminen

Laskentariippuvaisessa työssä lisätkää rinnakkaisuutta, käyttäkää nopeampaa matematiikkaa tai hyödyntäkää tensoriytimiä laskentakaton ylittämiseksi.

Useimmat kernelit ovat muistiriippuvaisia

Käytännössä suurin osa CUDA-kerneleistä on muistiriippuvaisia. Kaistanleveys, ei aritmetiikka, on yleensä niukka resurssi.

Antakaa profiloijan ratkaista

Älkää arvatko rajoitetta. Nsight Computen roofline sijoittaa kernelin puolestanne oikean katon alle.

Yksinkertainen ajatuskoe

Kysykää yksi kysymys: ovatko ytimet vai muistiväylät lähempänä huippuarvoa? Se, kumpi on kyllästynyt, kertoo rajoitteen.

Pikakertaus

Kernelin aritmeettinen intensiteetti on hyvin pieni.

Kertaus

Tunnistakaa rajoite ensin: muistiriippuvaiset kernelit tarvitsevat vähemmän liikennettä, laskentariippuvaiset enemmän laskentaa. Roofline kertoo, kumpi pätee. 👏

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 ”Laskenta- ja muistirajoitteiset tehtävät” ilmainen?

Kyllä – oppitunnin ”Laskenta- ja muistirajoitteiset tehtävät” 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 ”Laskenta- ja muistirajoitteiset tehtävät”?

Lue roofline-kaaviota korjausten suunnittelua varten. 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 3/4.

Kuinka kauan ”Laskenta- ja muistirajoitteiset tehtävät”-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. Aikajana Nsight Systemsissa
  2. Ydinten mittarit Nsight Computessa
  3. Laskenta- ja muistirajoitteiset tehtävät
  4. Merkitse koodi NVTX:llä
← Takaisin: CUDA Academy