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