Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

cuda.core: a fast-path VMM grow leaves its extension unfreeable

Ouverte
#2,887 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
python
Domaine
hpc

Piste de recherche

Commencez par _grow_allocation_fast_path et suivez la manière dont Buffer, close() et deallocate(ptr, size) gèrent les réservations, les mappings et la mémoire physique. Examinez le test existant du fast path, puis ajoutez une couverture qui détecte que la réservation d’extension reste allouée après close ; le travail est terminé lorsque chaque réservation et chaque mapping appartenant au buffer sont libérés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug cuda.core

Summary

_grow_allocation_fast_path maps a new chunk into a second, adjacent VA reservation and updates buf._size in place. The Buffer's deleter captured the original size when the buffer was created, so close() calls deallocate(ptr, original_size) and frees only the first reservation. The extension's reservation, mapping, and physical memory leak with no warning.

No deallocate(ptr, size) call can fix this: cuMemAddressFree frees a reservation only when ptr and size match exactly one reservation, so a range that spans two reservations cannot be freed in one call. The buffer needs to own each reservation and mapping it consists of.

Status

Today the fast path is unreachable (#2388 defect 2). #2237 and #2407 make it live and would expose this leak, so they should wait for this fix. The existing fast-path test mocks the driver and cannot catch it.

Refs: #2388, #2237, #2407, #2882.

Langage dominant
Cython
Étoiles
3.4k
Forks
329
Merge moyen
1 j 20 h
PR mergées (30 j)
123

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NVIDIA/cuda-python

Toutes les issues de NVIDIA/cuda-python

Issues similaires

Plus d'issues HPC

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.