Mojo Academy · Lektion

Parameterisér tile og bredde

Eksponér indstillinger, der kan tunes, som parametre.

Lektion 2 af 413 trin

Parameterisér tile og bredde er en gratis Mojo Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mojo Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mojo Academy-kurset indeholder 4 lektioner i alt.

Justerbare parametre skal være parametre

Hvis automatisk optimering skal kunne variere en værdi, skal den være en parameter ved kompileringstid og ikke en almindelig variabel ved kørsel. Parametre kan specialiseres for hver kandidat.

Tile-størrelse som parameter

En tile-størrelse bestemmer, hvor stor en arbejdsblok du behandler ad gangen. Gør den til en parameter, så optimeringen kan afprøve 16, 32, 64 og flere værdier.

fn process[tile: Int]():
    pass

Bredde som parameter

SIMD-bredde bestemmer, hvor mange tal du behandler pr. instruktion. Forskellige chips foretrækker forskellige bredder, så gør også denne til en parameter.

fn run[width: Int]():
    pass

Deklaration af parametrene

Placér justerbare værdier i funktionens liste med kantede parenteser. Hvert element bliver en parameter, som den automatiske optimering må ændre.

fn kernel[tile: Int, width: Int]():
    pass

Brug dem internt

Inde i brødteksten skal du behandle parameteren som en konstant. Kompileren indbygger dens værdi i hver specialiseret version, den bygger.

fn step[tile: Int]() -> Int:
    return tile * 2

Fornuftige intervaller

Vælg kandidatværdier, der giver mening for hardwaren: potenser af to som 8, 16 og 32 for bredde samt cachevenlige blokke for tile-størrelsen.

Hold parametrene uafhængige

Hver parameter bør betyde én tydelig ting. Flettede parametre gør søgningen forvirrende og resultaterne svære at forklare.

Valider med begrænsninger

Brug en begrænsning til tidligt at afvise umulige kombinationer, så den automatiske optimering aldrig spilder tid på at bygge kandidater, der ikke kan fungere.

constrained[width > 0]()

Standardværdier hjælper stadig

Giv hver parameter en fornuftig standardværdi. Koden forbliver brugbar uden optimering, og søgningen starter fra et kendt, velfungerende udgangspunkt.

fn kernel[tile: Int = 32]():
    pass

Flere parametre, større område

Hver ekstra parameter ganger antallet af kandidater, der skal testes. Gør kun de parametre, der virkelig betyder noget, justerbare — ikke alle tal, du kan finde.

Nu kan den optimeres

Med tile-størrelse og bredde som parametre er din kerne klar: Den automatiske optimering har tydelige drejeknapper at justere, mens den søger efter den højeste gennemstrømning. 🔧

Hurtigt tjek

Bekræft, hvad der gør en værdi justerbar for den automatiske optimering.

Opsummering

Du gjorde tile-størrelse og bredde til parametre ved kompileringstid, tilføjede en begrænsning og standardværdier og gav den automatiske optimering tydelige drejeknapper at justere. 🎯

Gratis at komme i gang

Lær Mojo med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Parameterisér tile og bredde” gratis?

Ja — alle 3 lektioner i læringssporet Mojo Academy, inklusive “Parameterisér tile og bredde”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mojo Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Parameterisér tile og bredde”?

Eksponér indstillinger, der kan tunes, som parametre. Du øver dig i Mojo Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mojo Academy?

Der kræves ingen tidligere erfaring. Mojo Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Parameterisér tile og bredde”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mojo Academy-lektion?

Ja. Alle Mojo Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvilket problem løser autotuning?
  2. Parameterisér tile og bredde
  3. Søg i parameterområdet
  4. Fastlås den bedste konfiguration
← Tilbage til Mojo Academy