[FEA] dynamic_map device-side API

Offen
#29 0 Kommentare 0 Reaktionen 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
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
cpp
Bereich
data

Rechercherichtung

Beginne damit, die bestehende host-seitige API von dynamic_map für insert, find und contains zu lesen, und untersuche anschließend die im Issue erwähnte device_mutable_view. Lege fest, wie die device-Operationen mit der festen Kapazität umgehen und wie size-Felder nach Einfügungen auf der Device-Seite aktualisiert werden. Als abgeschlossen gilt die Aufgabe, wenn die API auf der Device-Seite und ihr Verhalten bei der Größenaktualisierung spezifiziert und implementiert sind, ohne Resize auf der Device-Seite.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

type: feature request

Currently, the dynamic_map has only a host-side API, which supports insert, find, contains. It would be useful to have an additional, advanced-usage API supporting __device__ versions of insert, find, and contains.

There are some important considerations in designing this API:

  1. The map will not be able to dynamically resize when using the device-side API. This is because control must be returned to the host to resize. There is no preventing the user from inserting too many keys for the capacity of the map.
  2. The size field of the dynamic_map as well as its constituent static_map objects needs to be updated as the device-side insert is used. This could potentially be done automatically, such as with an RAII wrapper around the device_mutable_view object. It could also be done manually by the user.
Vorherrschende Sprache
Cuda
Sterne
675
Forks
123
Ø Merge
19 Std. 7 Min.
Gemergte PRs (30 T.)
10

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 Data Engineering

Neue Issues direkt in Ihr Postfach

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