[ENHANCEMENT]: Add hasher/comparator adaptor to better support mapping table use case
メンテナーはふだん 2 日以内に返信
@njones93531 がすでに取り組んでいます。
2024年6月3日 から。
評価
調査の方向性
include/cuco/utility/mapping_table.cuh から始め、現在の mapping_table_example.cu の使用方法と比較します。既存の utility の規約と併せて命名に関する問題を確認し、その後、example と README の godbolt リンクを更新します。両方のアダプターが提供され、3 つすべての TODO 項目に対応できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
Many hash-based implementations rely on the mapping table method to handle large keys/values that are expensive to copy or move around. Every time users need to write the mapping table hasher/key_equal adaptors on their own, they shouldn't have to.
Describe the solution you'd like
As proposed by @esoha-nvidia, to better serve all users in this scenario, cuco could provide two handy utilities to the user:
mapping_table_hashwrapper constructed from a span (a pointer to the beginning of the original data and a size) and the original hashermapping_table_key_eqwrapper constructed from a span and the original key comparator
TODO:
- Add two utilities (probably in
include/cuco/utility/mapping_table.cuh) - Update the example accordingly
- Update godbolt link in README
Describe alternatives you've considered
Seeking help for better naming
- Is the
mapping_table_prefix descriptive enough? Any other suggestions? - STL also use
pred/predicateto refer to key comparators but I foundmapping_table_key_pred/mapping_table_predcan be misleading since we support conditional operations likeinsert_ifandcontains_ifwhere the condition is also named aspredicate mapping_table_equalgood enough?key_eqis the STL canonical but the_eqabbreviation is ambiguous.
- 主要言語
- Cuda
- スター
- 671
- フォーク
- 122
- 平均マージ
- 4日 19時間
- マージ済み PR(30日)
- 10
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/cuCollections のほかの issue
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API naming再び着手できるかも @0z5a が 25 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
NVIDIA/cuCollections#840 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
nvidia-runners
難易度 1/5 1〜3時間 初心者へのやさしさ 25/100
NVIDIA/cuCollections#853 ·
メンテナーはふだん 2 日以内に返信
-
topic: performance type: feature request
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
NVIDIA/cuCollections#817 · コメント 7 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
good first issue P2: Nice to have type: improvement
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
NVIDIA/cuCollections#805 · コメント 4 件 ·
メンテナーはふだん 2 日以内に返信
-
[FEA] Add MPSC/MPMC concurrent queue再び着手できるかも @sleeepyjack が 264 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtype: feature request
NVIDIA/cuCollections#791 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
NVIDIA/cuCollections の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
FuRongJun-1999/dsh-memory#226 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Type: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
bug cellranger-multi
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
`soup ingest --source langfuse` turns a score of 0 (thumbs down) into signal `none`: `score or rating` drops it対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug difficulty:2
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
MakazhanAlpamys/Soup#1856 ·
メンテナーはふだん 1 日以内に返信
-
Add: MS NOWオープンcheck:passed streams:add
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信