cuda.core: a second grow of a grown VMM buffer fails
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Cython
- Sterne
- 3.4k
- Forks
- 329
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 116
Beschreibung
After one grow a buffer is backed by two physical chunks. The slow path retains only the handle of the mapping at buf.handle and maps aligned_prev_size bytes from it, but cuMemMap requires the size to equal the handle's full size, so the second grow fails. On main the attempt also unmaps the old range first and cannot restore it; with #2880 the old buffer stays intact and the grow raises cleanly. Fix belongs to the ownership redesign (epic #2906).
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem im Issue beschriebenen langsamen Pfad zum Vergrößern des cuda.core VMM-Puffers und konzentriere dich auf buf.handle, aligned_prev_size und den Aufruf von cuMemMap. Prüfe das Epic zum Ownership-Redesign #2906 und das Verhalten in #2880; abgeschlossen ist die Arbeit, wenn ein zweites Vergrößern nicht mehr aufgrund der Nichtübereinstimmung von Handle und Größe fehlschlägt und ein fehlgeschlagenes Vergrößern den alten Puffer intakt lässt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100