Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[FEA] New probing scheme concept

Offen
#205 4 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

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
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
cpp
Bereich
backend

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

type: feature request

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_probing and cuco::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
Vorherrschende Sprache
Cuda
Sterne
674
Forks
123
Ø Merge
1 T. 13 Std.
Gemergte PRs (30 T.)
8

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus NVIDIA/cuCollections

Alle Issues in NVIDIA/cuCollections

Ähnliche Issues

Weitere Issues zu Backend & API Design

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.