CUDA Academy · Oppitunti

Hei GPU: ensimmäinen .cu-tiedostosi

Rakenna ja suorita minimaalinen CUDA-ohjelma.

Oppitunti 4/413 vaihetta

Hei GPU: ensimmäinen .cu-tiedostosi 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.

Ensimmäinen .cu-tiedosto

Nyt rakennetaan jotain oikeaa. CUDA-ohjelma sijaitsee .cu-tiedostossa, joka voi sisältää CPU- ja GPU-koodia rinnakkain. 🎉

Ota otsikkotiedosto mukaan

Useimmat CUDA-esimerkit alkavat ottamalla vakiomuotoiset otsikkotiedostot mukaan. nvcc sisällyttää CUDA:n runtime-otsikkotiedoston automaattisesti, joten iostream riittää usein.

#include <cstdio>

Ytimen merkitseminen

GPU:lla suoritettavaa funktiota kutsutaan kerneliksi. Merkitkää se __global__-määritteellä, jotta nvcc kääntää sen laitteelle.

__global__ void hello() {
}

Tulostaminen GPU:lta

Ytimen sisällä voitte kutsua printf-funktiota aivan kuten CPU:lla. Jokainen ytimen suorittava GPU-säie tuottaa oman tulostusrivinsä.

__global__ void hello() {
  printf("Hello from GPU\n");
}

Käynnistyssyntaksi

Ytimen suorittamiseen käytetään kolmoissulkeilla tehtävää käynnistystä. Niiden sisällä olevat numerot määrittävät suoritettavien lohkojen ja säikeiden määrän.

hello<<<1, 1>>>();

Käynnistykset ovat asynkronisia

Ytimen käynnistys palautuu heti, kun GPU jatkaa työtä taustalla. CPU jatkaa suoritusta, mikä on tehokasta mutta voi aluksi olla yllättävää.

GPU:n valmistumisen odottaminen

Siksi ohjelma on synkronoitava ennen sen päättymistä. Muuten printf-tuloste ei ehkä koskaan ilmesty näytölle.

cudaDeviceSynchronize();

Kootaan kokonaisuus

main-funktio käynnistää ytimen ja odottaa sitten. Siinä on toimivan CUDA-ohjelman koko perusrakenne.

int main() {
  hello<<<1, 1>>>();
  cudaDeviceSynchronize();
}

Käännä ohjelma

Tallentakaa tiedosto nimellä hello.cu ja kääntäkää se nvcc:llä. Nimetkää tulostettava ohjelma -o-valitsimella.

nvcc hello.cu -o hello

Suorita ohjelma

Suorittakaa ohjelma nyt. Kun näette tulosteen Hello from GPU, koodi todella suoritettiin laitteella. Tämä on ensimmäinen GPU-tulosteenne! 🚀

./hello

Useita säikeitä kerralla

Kasvattakaa käynnistyksessä käytettävien säikeiden määrää, niin näette tervehdyksen useita kertoja, yhden rivin säiettä kohti. Tässä rinnakkaisuus toimii käytännössä.

hello<<<1, 8>>>();

Pikatarkistus

Yksi yksityiskohta ratkaisee, toimiiko tämä ohjelma.

Kertaus

Kirjoititte oikean CUDA-ohjelman: __global__-ytimen, kolmella hakasulkeella tehdyn käynnistyksen ja synkronoinnin. Kääntäkää ohjelma nvcc:llä ja suorittakaa se, niin GPU tervehtii teitä. Onneksi olkoon! 🎓

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 ”Hei GPU: ensimmäinen .cu-tiedostosi” ilmainen?

Kyllä – oppitunnin ”Hei GPU: ensimmäinen .cu-tiedostosi” 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 ”Hei GPU: ensimmäinen .cu-tiedostosi”?

Rakenna ja suorita minimaalinen CUDA-ohjelma. 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 ”Hei GPU: ensimmäinen .cu-tiedostosi”-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. Ajurin, runtimen ja työkalupaketin versiot
  2. Lue nvidia-smi:tä kuin ammattilainen
  3. Käännä nvcc:llä
  4. Hei GPU: ensimmäinen .cu-tiedostosi
← Takaisin: CUDA Academy