CUDA Academy · leksjon

API-et for beregning av occupancy

cudaOccupancyMaxPotentialBlockSize

Leksjon 3 av 413 trinn

API-et for beregning av occupancy er en gratis leksjon i CUDA Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i CUDA Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i CUDA Academy inneholder totalt 4 leksjoner.

Slutt å gjette blokkstørrelse

I stedet for manuell finjustering tilbyr CUDA et occupancy-API som automatisk beregner en god blokkstørrelse for kjernen.

Stjernefunksjonen

Én funksjon gjør det meste av arbeidet: cudaOccupancyMaxPotentialBlockSize foreslår en blokkstørrelse som maksimerer occupancy.

cudaOccupancyMaxPotentialBlockSize(&grid, &block, myKernel);

Hva den returnerer

Den fyller inn en foreslått blokkstørrelse og den minste grid-størrelsen som trengs for å utnytte enheten fullt ut for kjernen.

Den kjenner kjernen Deres

API-et leser kjernens faktiske bruk av registre og shared memory, slik at forslaget passer til akkurat denne kjernen og ikke bygger på et generelt gjett.

Forutsi occupancy

Et beslektet kall rapporterer hvor mange aktive blokker per SM en konfigurasjon gir, slik at De kan forutsi occupancy før kjernen startes.

cudaOccupancyMaxActiveBlocksPerMultiprocessor(&n, k, 256, 0);

Beregne prosentandelen

Multipliser blokker per SM med warps per blokk, og divider på SM-ens maksimale antall warps. Da får De prosentandelen for teoretisk occupancy.

Dynamisk shared memory

Disse kallene tar et argument for dynamisk shared memory, slik at forutsigelsen forblir nøyaktig når kjernen angir shared memory-størrelsen ved oppstart.

Flyttbart mellom GPU-er

Fordi koden spør enheten som kjører, velger den gode størrelser på ulike GPU-er uten at De trenger å hardkode tall.

Bruk det ved oppstart

Kall occupancy-API-et én gang under initialisering, mellomlagre blokkstørrelsen, og bruk den deretter på nytt ved hver oppstart av kjernen.

Et godt standardvalg

Den foreslåtte størrelsen er et utmerket utgangspunkt. De kan fortsatt måle noen nærliggende størrelser for å finne den beste for dataene Deres.

Hvorfor det slår magiske tall

Hardkodede størrelser som 256 slutter å fungere når ressursene endres. API-et tilpasser seg og holder automatisk kjernen nær maksimal occupancy.

Hurtigsjekk

Husk hva cudaOccupancyMaxPotentialBlockSize gir Dem.

Oppsummering

De har blitt kjent med occupancy-API-et: Det foreslår en flyttbar, kjernerettet blokkstørrelse og forutsier occupancy før De starter kjernen. ⚙️

Gratis å komme i gang

Lær deg C++ med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «API-et for beregning av occupancy» gratis?

Ja – hele teksten i «API-et for beregning av occupancy» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av CUDA Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i CUDA Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «API-et for beregning av occupancy»?

cudaOccupancyMaxPotentialBlockSize Du øver på CUDA Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med CUDA Academy?

Ingen tidligere erfaring er nødvendig. CUDA Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «API-et for beregning av occupancy»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne CUDA Academy-leksjonen?

Ja. Alle CUDA Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hva occupancy egentlig betyr
  2. Grenser for registre og delt minne
  3. API-et for beregning av occupancy
  4. Occupancy er ikke hele bildet
← Tilbake til CUDA Academy