[BUG]: repeated keys in static_map after a sequence of insertions and deletions
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện chuỗi va chạm k1/k2 được mô tả cho cuco::static_map, sau đó kiểm tra các điểm vào để probing, xóa và chèn của nó. Công việc được hoàn tất khi các lần chèn và xóa lặp lại không bao giờ tạo ra các khóa trùng lặp khi truy xuất tất cả các khóa và giá trị.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Cuda
- Star
- 671
- Fork
- 122
- Merge trung bình
- 4 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 10
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingCó thể làm lại được @0z5a đã nhận 24 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
NVIDIA/cuCollections#840 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
nvidia-runners
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 25/100
NVIDIA/cuCollections#853 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
topic: performance type: feature request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
NVIDIA/cuCollections#817 · 7 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
good first issue P2: Nice to have type: improvement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
NVIDIA/cuCollections#805 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[FEA] Add MPSC/MPMC concurrent queueCó thể làm lại được @sleeepyjack đã nhận 264 ngày trước và không có pull request nào đang mở. Đang mởtype: feature request
NVIDIA/cuCollections#791 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của NVIDIA/cuCollections
Issue tương tự
-
bug help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue help wanted testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
test(server): cover case- and whitespace-insensitive table names in row counts and filteringĐang mởarea: tools good first issue priority: low size: S testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 89/100
cubrid-lab/cubrid-mcp-server#292 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ai_p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ClickHouse/ClickHouse#125522 ·
Maintainer thường phản hồi trong vòng 1 ngày