[FEA] New probing scheme concept
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Beginne mit dem Refactor-Entwicklungszweig und den bestehenden Klassen cuco::probing_schemes::linear_probing und double_hashing. Prüfe die verlinkten Godbolt-Beispiele für die Konzepte ProbingScheme, Storage, probe iterator und equality-wrapper und untersuche anschließend den unchecked windowed probing customization point sowie den C++20-style ranges backlog. Erledigt ist dies, wenn die ausgewählten probing-scheme concepts und die angeforderte Option konsistent mit dem Refactor definiert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Part of #110 (Refactor of open address data structures)
Development branch: NVIDIA/cuCollections/refactor
Synopsis
Given a key k, a probing sequence provides a sequence of N potentially non-contiguous locations (or values) [i0, i1, i2, ... iN, EMPTY_SENTINEL] where if k exists it is present in [i0, iN].
TODOs
- Implement classes
cuco::probing_schemes::linear_probingandcuco::probing_schemes::double_hashing - Provide an option for windowed, i.e., vectorized probing via customization point object
- Enable cooperative probing
Backlog
- Use C++20-style ranges with sentinels
References
- https://godbolt.org/z/9bosKoW4v (distinct "ProbingScheme" and "Storage" concepts)
- https://godbolt.org/z/Maxe7j1o4 (probe iterator)
- https://godbolt.org/z/557fjcvvE (equality wrapper)
- Vorherrschende Sprache
- Cuda
- Sterne
- 674
- Forks
- 123
- Ø Merge
- 1 T. 13 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingEvtl. wieder frei @0z5a hat das vor 36 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
NVIDIA/cuCollections#840 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
nvidia-runners
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 25/100
NVIDIA/cuCollections#853 ·
Maintainer antworten meist innerhalb von 1 Tag
-
topic: performance type: feature request
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
NVIDIA/cuCollections#817 · 7 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue P2: Nice to have type: improvement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
NVIDIA/cuCollections#805 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
[FEA] Add MPSC/MPMC concurrent queueEvtl. wieder frei @sleeepyjack hat das vor 276 Tagen übernommen, und es ist kein Pull Request offen. Offenmaintainer-only type: feature request
NVIDIA/cuCollections#791 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in NVIDIA/cuCollections
Ähnliche Issues
-
0.2.1-rc.3 compatibility: 21 peer ranges enumerate exact versions, so rc.3 is rejectedEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
NanmiCoder/dsh-agent-teams#277 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Lakr233/vphone-cli#742 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverOffendoc-audit enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Kozea/Radicale#2301 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag