CUDA Academy · Lektion

Hej GPU: Deres første .cu-fil

Byg og kør et minimalt CUDA-program.

Lektion 4 af 413 trin

Hej GPU: Deres første .cu-fil er en gratis CUDA Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i CUDA Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. CUDA Academy-kurset indeholder 4 lektioner i alt.

Din første .cu-fil

Nu skal du bygge noget rigtigt. Et CUDA-program ligger i en .cu-fil, som kan indeholde både CPU- og GPU-kode side om side. 🎉

Medtag headeren

De fleste CUDA-eksempler starter med at inkludere standardheadere. CUDA-runtime-headeren inkluderes automatisk af nvcc, så iostream er ofte nok.

#include <cstdio>

Markering af en kernel

En funktion, der kører på GPU'en, er en kernel. Du markerer den med kvalifikatoren __global__, så nvcc kompilerer den til enheden.

__global__ void hello() {
}

Udskrivning fra GPU'en

Inde i kernelen kan du kalde printf ligesom på CPU'en. Hver GPU-tråd, der kører den, producerer sin egen outputlinje.

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

Startsyntaksen

For at køre en kernel bruger du en start med tre vinkelparenteser. Tallene indeni bestemmer, hvor mange blokke og tråde der udfører den.

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

Starter er asynkrone

En kernel-start returnerer med det samme, mens GPU'en arbejder i baggrunden. CPU'en fortsætter, hvilket er effektivt, men kan være overraskende i begyndelsen.

Vent på GPU'en

Derfor skal du synkronisere, før programmet afsluttes, ellers vises printf-outputtet måske aldrig på skærmen.

cudaDeviceSynchronize();

Sæt det hele sammen

Din main-funktion starter kernelen og venter derefter. Det er hele grundstrukturen i et fungerende CUDA-program.

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

Kompilér det

Gem filen som hello.cu, og byg den med nvcc. Navngiv outputprogrammet med flaget -o.

nvcc hello.cu -o hello

Kør det

Kør nu programmet. Hvis du ser Hello from GPU udskrevet, betyder det, at din kode faktisk blev udført på enheden. Det er dit første GPU-output! 🚀

./hello

Mange tråde på én gang

Forøg starten til mange tråde, så ser du hilsenen udskrevet flere gange, én linje pr. tråd. Det er ægte parallelisme i praksis.

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

Hurtigt tjek

Én detalje kan få dette program til at fungere eller fejle.

Opsummering

Du skrev et rigtigt CUDA-program: en __global__-kernel, en start med tre vinkelparenteser og en synkronisering. Kompilér med nvcc, kør det, og GPU'en hilser på dig. Tillykke! 🎓

Gratis at komme i gang

Lær C++ med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Hej GPU: Deres første .cu-fil” gratis?

Ja — hele teksten til “Hej GPU: Deres første .cu-fil” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af CUDA Academy-kurset, skal du opgradere til CoddyKit PRO. CUDA Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hej GPU: Deres første .cu-fil”?

Byg og kør et minimalt CUDA-program. Du øver dig i CUDA Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på CUDA Academy?

Der kræves ingen tidligere erfaring. CUDA Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Hej GPU: Deres første .cu-fil”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne CUDA Academy-lektion?

Ja. Alle CUDA Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Versioner af driver, runtime og toolkit
  2. Læs nvidia-smi som en ekspert
  3. Kompilér med nvcc
  4. Hej GPU: Deres første .cu-fil
← Tilbage til CUDA Academy