CUDA Academy · Lektion

Hej GPU: er första .cu-fil

Bygg och kör ett minimalt CUDA-program.

Lektion 4 av 413 steg

Hej GPU: er första .cu-fil är en gratis lektion i CUDA Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för CUDA Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i CUDA Academy innehåller totalt 4 lektioner.

Er första .cu-fil

Dags att bygga något verkligt. Ett CUDA-program finns i en .cu-fil, som kan innehålla både CPU- och GPU-kod sida vid sida. 🎉

Inkludera headerfilen

De flesta CUDA-exempel börjar med att inkludera standardheaderfiler. CUDA:s runtime-header inkluderas automatiskt av nvcc, så iostream räcker ofta.

#include <cstdio>

Markera en kärna

En funktion som körs på GPU:n är en kärna. Ni markerar den med kvalificeraren __global__, så att nvcc kompilerar den för enheten.

__global__ void hello() {
}

Skriv ut från GPU:n

Inuti kärnan kan Ni anropa printf precis som på CPU:n. Varje GPU-tråd som kör den producerar en egen rad med utdata.

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

Startsyntaxen

För att köra en kärna använder Ni en start med tre vinkelparenteser. Talen inuti anger hur många block och trådar som ska köra den.

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

Starter är asynkrona

Ett kärnanrop returnerar omedelbart medan GPU:n arbetar i bakgrunden. CPU:n fortsätter köra, vilket är kraftfullt men kan vara överraskande i början.

Vänta på GPU:n

Därför måste Ni synkronisera innan programmet avslutas, annars kanske printf-utdata aldrig visas på skärmen.

cudaDeviceSynchronize();

Sätt ihop allt

Er main-funktion startar kärnan och väntar sedan. Det är hela grundstrukturen för ett fungerande CUDA-program.

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

Kompilera det

Spara filen som hello.cu och bygg den med nvcc. Ange programmets namn med flaggan -o.

nvcc hello.cu -o hello

Kör det

Kör nu programmet. Om Hello from GPU skrivs ut betyder det att koden verkligen kördes på enheten. Det är Er första GPU-utdata! 🚀

./hello

Många trådar samtidigt

Öka starten till många trådar, så ser Ni hälsningen skrivas ut flera gånger, en rad per tråd. Det är parallellism i praktiken.

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

Snabbkontroll

En detalj avgör om programmet fungerar eller inte.

Sammanfattning

Ni skrev ett riktigt CUDA-program: en __global__-kärna, en start med tre hakparenteser och en synkronisering. Kompilera med nvcc, kör programmet och låt GPU:n hälsa på Er. Grattis! 🎓

Gratis att börja

Lär dig C++ med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Hej GPU: er första .cu-fil” gratis?

Ja – hela texten till ”Hej GPU: er första .cu-fil” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i CUDA Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i CUDA Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Hej GPU: er första .cu-fil”?

Bygg och kör ett minimalt CUDA-program. Ni övar på CUDA Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig CUDA Academy?

Du behöver inga förkunskaper. Utbildningen i CUDA Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Hej GPU: er första .cu-fil”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här CUDA Academy-lektionen?

Ja. Varje CUDA Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Versioner av drivrutin, runtime och verktygslåda
  2. Läs nvidia-smi som ett proffs
  3. Kompilera med nvcc
  4. Hej GPU: er första .cu-fil
← Tillbaka till CUDA Academy