Rust-GPU / Rust-GPU/rust-gpu

[Migrated] For loops need more optimizations

Offen
#123 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Rust
Sterne
3.4k
Forks
126
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/739
Old labels: t: enhancement,a: codegen
Originally creatd by hrydgard on 2021-08-30T12:50:21Z


Due to how for loops over a range work in Rust, a lot of scaffolding code is generated that is then expected to be optimized away, but in rust-gpu, that doesn't happen enough yet. We had a case where I had to change a for i in 0..8 {} to a while i < 8 { ...; i++ } loop to work around SPIRV-Cross making a right mess out of it.

Filing this issue to have something to point to from the code comment, mainly, not expectations for a quick resolution as I know it's a thorny one.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Das Issue nennt Rust-Bereichs-basierte for-Schleifen, rust-gpu-Codegenerierung und SPIRV-Cross, enthält aber keine Quelldatei, keinen Test und keinen Einstiegspunkt. Beginne damit, den referenzierten Codekommentar und den Codegen-Pfad für Bereichsschleifen zu finden; als abgeschlossen gilt die Aufgabe, wenn das generierte Gerüst reduziert wurde und bestätigt ist, dass SPIRV-Cross ohne die while-Schleifen-Umgehung akzeptable Ausgabe erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.