[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 约定检查命名问题,然后更新示例和 README 中的 godbolt 链接。提供两个适配器并处理完全部三个 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 小时
- 30 天内合并 PR
- 10
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NVIDIA/cuCollections 的其他 Issue
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API naming可能重新可做 @0z5a 于 26 天前认领,目前没有进行中的 PR。 未关闭
难度 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 一周以上 新手友好度 35/100
NVIDIA/cuCollections#817 · 7 条评论 · 1 个 reaction ·
维护者通常 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 于 265 天前认领,目前没有进行中的 PR。 未关闭type: feature request
NVIDIA/cuCollections#791 · 已指派 1 人 ·
维护者通常 2 天内回复
查看 NVIDIA/cuCollections 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
Deltares/imod-python#1940 ·
维护者通常 1 天内回复
-
Add: VIVE TV未关闭approved check:passed streams:add
难度 1/5 1 小时以内 新手友好度 72/100
维护者通常 1 天内回复
-
Edit: HTVKey.vn未关闭channels:edit check:passed
难度 1/5 1 小时以内 新手友好度 72/100
维护者通常 6 天内回复
-
bug discussion
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
correction metadata
难度 2/5 1 小时以内 新手友好度 68/100
acl-org/acl-anthology#10378 · 1 条评论 ·
维护者通常 1 天内回复