[BUG]: repeated keys in static_map after a sequence of insertions and deletions
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par reproduire la séquence de collision k1/k2 décrite pour cuco::static_map, puis examinez ses points d’entrée pour le sondage, la suppression et l’insertion. La tâche est terminée lorsque des insertions et suppressions répétées ne produisent jamais de clés dupliquées lors de la récupération de toutes les clés et de toutes les valeurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is this a duplicate?
- I confirmed there appear to be no duplicate issues for this bug (https://github.com/NVIDIA/cuCollections/issues)
Type of Bug
Silent Failure
Describe the bug
I've been seeing repeated keys when I retrieve all the keys and values from cuco::staic_map. This is the explanation that I've found for it.
Assume that k1 and k2 map to the same position on the map and cause a collision. if we insert at k1, then insert at k2, remove k1 and then insert at k2 again, with the current probing schemes, there will be 2 instances of k2 at the map. That's because when we remove k1, an erased key sentinel will be left at it's position and when we want to insert k2 again, the insert function sees the erased key sentinel first and doesn't check any further to see if k2 is placed anywhere else. as a result, there will be 2 k2s at our map.
How to Reproduce
- Construct a map
- find 2 keys k1 and k2 that collide with each other
- insert something at k1
- insert something at k2
- remove k1
- insert something at k2
- retrieve all the keys at the map
Result: There will be 2 instances of k2 when we retrieve all the elements from the map.
Expected behavior
At any time there should be only one instance of k2 in the map.
Reproduction link
No response
Operating System
Ubuntu 22.04.4 LTS
nvidia-smi output
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.100 Driver Version: 550.100 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 Off | Off |
| 0% 49C P8 19W / 500W | 31MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
NVCC version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0
- Langage dominant
- Cuda
- Étoiles
- 674
- Forks
- 123
- Merge moyen
- 19 h 7 min
- PR mergées (30 j)
- 10
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingPeut-être à nouveau libre @0z5a l’a pris il y a 44 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
NVIDIA/cuCollections#840 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
nvidia-runners
Difficulté 1/5 1-3 heures Accessibilité débutants 25/100
NVIDIA/cuCollections#853 ·
Les mainteneurs répondent en général sous 1 jour
-
topic: performance type: feature request
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
NVIDIA/cuCollections#817 · 7 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue P2: Nice to have type: improvement
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
NVIDIA/cuCollections#805 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[FEA] Add MPSC/MPMC concurrent queuePeut-être à nouveau libre @sleeepyjack l’a pris il y a 284 jours, et aucune pull request n’est ouverte. Ouvertemaintainer-only type: feature request
NVIDIA/cuCollections#791 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de NVIDIA/cuCollections
Issues similaires
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
chriskelly/wish-together#102 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
apache/datafusion#26998 ·
Les mainteneurs répondent en général sous 1 jour