CUDA Academy · Lektion

Trådhierarkin

Trådar grupperas i block och block i ett rutnät.

Lektion 1 av 413 steg

Trådhierarkin är en gratis lektion i CUDA Academy på CoddyKit. Detta är lektion 1 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.

Många trådar, ett jobb

En CUDA-kernel körs parallellt över många trådar, och varje tråd utför samma arbete på sin egen del av datan. 🧵

Trådar behöver struktur

Att starta miljontals lösa trådar skulle skapa kaos. CUDA organiserar dem i en tydlig hierarki så att maskinvaran kan schemalägga dem effektivt.

Trådar bildar block

Trådar grupperas i ett block. Alla trådar i ett block kör samma kernel och kan samarbeta nära med sina grannar.

Block bildar gitteret

Alla block för en start bildar tillsammans gitteret. Kedjan är alltså enkel: trådar finns i block och block finns i gitteret.

Varför två nivåer?

Designen med två nivåer låter en kernel skalas från en liten GPU till en enorm. Ni beskriver arbetet en gång, och gitteret anpassas efter storleken.

Välja formen vid start

Ni väljer antal block och antal trådar per block direkt vid starten med syntaxen för trippelvinkelparenteser.

myKernel<<<numBlocks, threadsPerBlock>>>(data);

Ett konkret exempel

Anta att ni startar 4 block med 256 trådar. Det ger 4 gånger 256, alltså 1024 trådar som körs samtidigt.

Block är oberoende

Olika block kan inte förutsätta någon ordning eller kommunicera direkt med varandra. Det är just detta oberoende som låter GPU:n köra dem i valfri ordning.

Trådar inom ett block samarbetar

Inuti ett block kan trådar dela snabbt minne på chippet och synkronisera med varandra. Det samarbetet är blockets superkraft.

Gitter och block kan vara 3D

Både gitter och block kan vara 1D, 2D eller 3D. Typen dim3 låter er naturligt avbilda data på bilder eller volymer.

dim3 block(16, 16);
dim3 grid(32, 32);

En tråd, ett element

Det gemensamma målet är att ge varje tråd exakt ett dataelement att hantera. Hierarkin beskriver bara hur du hittar den kopplingen.

Snabb kontroll

Låt oss kontrollera hur delarna bäddas in i varandra.

Sammanfattning: hierarkin

Du har lärt dig CUDA-hierarkin: trådar bildar ett block och block bildar gridet. Oberoende block kan skalas, medan trådar i samma block samarbetar. 🎯

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 ”Trådhierarkin” gratis?

Ja – hela texten till ”Trådhierarkin” 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 ”Trådhierarkin”?

Trådar grupperas i block och block i ett rutnät. 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 1 av 4.

Hur lång tid tar lektionen ”Trådhierarkin”?

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. Trådhierarkin
  2. threadIdx, blockIdx, blockDim
  3. Varför block finns
  4. Välj antal trådar per block
← Tillbaka till CUDA Academy