[BUG]: repeated keys in static_map after a sequence of insertions and deletions
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo la sequenza di collisione k1/k2 descritta per cuco::static_map, quindi esamina i suoi punti di ingresso per il probing, la cancellazione e l'inserimento. Il lavoro è completato quando inserimenti ed eliminazioni ripetuti non producono mai chiavi duplicate al recupero di tutte le chiavi e dei valori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Cuda
- Stelle
- 671
- Fork
- 122
- Merge medio
- 4g 19h
- PR unite (30g)
- 10
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingForse di nuovo libera @0z5a l’ha presa 24 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
NVIDIA/cuCollections#840 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
nvidia-runners
Difficoltà 1/5 1-3 ore Idoneità per principianti 25/100
NVIDIA/cuCollections#853 ·
I maintainer di solito rispondono entro 2 giorni
-
topic: performance type: feature request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
NVIDIA/cuCollections#817 · 7 commenti · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
good first issue P2: Nice to have type: improvement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
NVIDIA/cuCollections#805 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
[FEA] Add MPSC/MPMC concurrent queueForse di nuovo libera @sleeepyjack l’ha presa 264 giorni fa e non c’è nessuna pull request aperta. Apertatype: feature request
NVIDIA/cuCollections#791 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di NVIDIA/cuCollections
Issue simili
-
area: tools good first issue priority: low size: S testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 89/100
cubrid-lab/cubrid-mcp-server#292 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
ai_p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ClickHouse/ClickHouse#125522 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
uberdeveloper/fastbt#20 ·