Mojo Academy · Les

Tile en breedte parametriseren

Maak instelbare parameters beschikbaar

Les 2 van 413 stappen

Tile en breedte parametriseren is een gratis Mojo Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Mojo Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Mojo Academy bevat in totaal 4 lessen.

Knoppen moeten parameters zijn

Om autotuning een waarde te laten variëren, moet die een parameter tijdens het compileren zijn en geen gewone variabele tijdens runtime. Parameters kunnen per kandidaat worden gespecialiseerd.

Tegelgrootte als knop

Een tegelgrootte bepaalt hoe groot het werkblok is dat je in één keer verwerkt. Maak er een parameter van, zodat de tuner 16, 32, 64 en meer kan proberen.

fn process[tile: Int]():
    pass

Breedte als knop

De SIMD-breedte bepaalt hoeveel getallen je per instructie verwerkt. Verschillende chips geven de voorkeur aan verschillende breedtes, dus maak ook deze beschikbaar als parameter.

fn run[width: Int]():
    pass

De parameters declareren

Plaats afstelbare waarden in de lijst met haakjes van de functie. Elke invoer wordt een knop die de autotuner mag wijzigen.

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

Ze binnenin gebruiken

Behandel de parameter in de body als een constante. De compiler verwerkt de waarde in elke gespecialiseerde versie die hij bouwt.

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

Zinvolle bereiken

Kies kandidaatwaarden die logisch zijn voor de hardware: machten van twee zoals 8, 16 en 32 voor de breedte, en cachevriendelijke blokken voor de tegelgrootte.

Houd knoppen onafhankelijk

Elke knop moet één duidelijk doel hebben. Verstrengelde parameters maken de zoektocht verwarrend en de resultaten moeilijk uit te leggen.

Valideer met beperkingen

Gebruik een beperking om onmogelijke combinaties vroeg af te wijzen, zodat de tuner nooit tijd verspilt aan het bouwen van kandidaten die niet kunnen werken.

constrained[width > 0]()

Standaardwaarden helpen nog steeds

Geef elke parameter een redelijke standaardwaarde. De code blijft bruikbaar zonder tuning en de zoektocht begint met een bekende, goede basis.

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

Meer knoppen, meer mogelijkheden

Elke extra parameter vermenigvuldigt het aantal kandidaten dat moet worden getest. Bied alleen de knoppen aan die echt belangrijk zijn, niet elk getal dat je kunt vinden.

Nu is het afstelbaar

Met tegelgrootte en breedte als parameters is je kernel klaar: de autotuner heeft duidelijke draaiknoppen om aan te draaien tijdens de zoektocht naar maximale doorvoer. 🔧

Korte controle

Bevestig wat een waarde afstelbaar maakt voor de autotuner.

Samenvatting

Je hebt tegelgrootte en breedte beschikbaar gemaakt als parameters tijdens het compileren, een beperking en standaardwaarden toegevoegd en de autotuner duidelijke draaiknoppen gegeven. 🎯

Gratis beginnen

Leer Mojo met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Tile en breedte parametriseren” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Mojo Academy, waaronder “Tile en breedte parametriseren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Mojo Academy bevat in totaal 4 lessen.

Wat leer ik in “Tile en breedte parametriseren”?

Maak instelbare parameters beschikbaar Je oefent met Mojo Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Mojo Academy te beginnen?

Ervaring vooraf is niet nodig. Mojo Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Tile en breedte parametriseren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Mojo Academy?

Ja. Elke les over Mojo Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Wat autotuning oplost
  2. Tile en breedte parametriseren
  3. De parameterruimte doorzoeken
  4. De beste configuratie vastleggen
← Terug naar Mojo Academy