Migrering av sidor vid behov
Fel flyttar data dit den används.
Migrering av sidor vid behov är en gratis lektion i CUDA Academy på CoddyKit. Detta är lektion 2 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.
Var finns data?
Med managed memory har data ingen fast hemvist. Den flyttas tyst mellan CPU och GPU genom on-demand page migration och följer efter där den används.
Minne kommer i sidor
Systemet håller reda på minnet i fasta delar som kallas sidor, ofta 4 KB eller 64 KB. Migreringen sker en sida i taget, inte byte för byte.
Ett sidfel utlöser det
När GPU:n använder en sida som finns på CPU:n uppstår ett sidfel. Drivrutinen pausar, kopierar över sidan och låter sedan tråden fortsätta.
Data följer åtkomsten
Regeln är enkel: data migrerar till den som använder den. Skriv på CPU:n så finns sidorna där; läs i en kernel så flyttas de till GPU:n.
Första åtkomsten är långsam
Kostnaden uppstår vid den första åtkomsten från en ny sida. När sidan har kommit fram är senare läsningar på samma enhet snabba och lokala.
Pingpong skadar
Om CPU:n och GPU:n fortsätter att använda samma sidor växelvis studsar de fram och tillbaka. Denna pingpong-migrering kan i tysthet förstöra er genomströmning.
Sidfel ackumuleras
Varje sidfel medför startkostnader, så tusentals små sidfel blir dyra. Migrering i bulk är bättre än att utlösa sidfel för en spridd sida i taget.
Lokalitet spelar fortfarande roll
Även med automatisk migrering lönar sig bra åtkomstmönster. Trådar som läser närliggande adresser hämtar hela sidor effektivt i stället för att sprida ut sidfelen.
Överbokning är tillåten
Migrering gör det möjligt att allokera mer än vad GPU:n rymmer. Sidor flödar in efter behov och gamla sidor avlägsnas, så även stora datamängder kan köras, fast långsammare.
Ni kan se sidfelen
Profilerare som Nsight Systems visar migreringstrafik och antal sidfel. Om ni upptäcker omfattande migrering vet ni exakt var ni ska lägga till ledtrådar härnäst.
Bekvämt, men med en hake
On-demand-migrering är underbart automatisk, men sidfelen är inte kostnadsfria. Genom att känna till kostnaden kan ni åtgärda den med förhämtning och råd.
Snabb kontroll
Låt oss säkerställa att ni vet vad som startar en migrering.
Sammanfattning: On-Demand Migration
Ni såg att managed-sidor migrerar vid ett sidfel till den som använder dem. Första åtkomsten är långsam, pingpong skadar och massförflyttning lönar sig. Nu går vi vidare! 🚀
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 ”Migrering av sidor vid behov” gratis?
Ja – hela texten till ”Migrering av sidor vid behov” 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 ”Migrering av sidor vid behov”?
Fel flyttar data dit den används. 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 2 av 4.
Hur lång tid tar lektionen ”Migrering av sidor vid behov”?
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
- En pekare, båda sidor
- Migrering av sidor vid behov
- Förinläsning med cudaMemPrefetchAsync
- Tips via cudaMemAdvise