Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add data structure base classes and cuco::static_set #278

Merged
merged 236 commits into from
Apr 6, 2023
Merged

Conversation

PointKernel
Copy link
Member

@PointKernel PointKernel commented Mar 6, 2023

This is the first PR related to #110.

It introduces the concept of:

  • New probing scheme which incorporates a probing iterator
  • Array of windows storage instead of flat storage to better deal with memory bandwidth-bound workload when hash collision is high
  • Dynamic and static extent type for efficient probing
  • Mixin to encode concurrent device operators
  • Synchronous and asynchronous host bulk APIs

This PR also adds cuco::static_set to evaluate the new design. For now, only 2 basic operations, insert and contains are supported.

Copy link
Collaborator

@sleeepyjack sleeepyjack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Second to last batch. I promise.

include/cuco/detail/storage/storage_base.cuh Outdated Show resolved Hide resolved
include/cuco/extent.cuh Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
Copy link
Collaborator

@sleeepyjack sleeepyjack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last one 🎉

include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
include/cuco/static_set_ref.cuh Outdated Show resolved Hide resolved
Copy link
Collaborator

@sleeepyjack sleeepyjack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀 🚀 🚀

include/cuco/static_set.cuh Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
include/cuco/static_set.cuh Show resolved Hide resolved
include/cuco/static_set.cuh Outdated Show resolved Hide resolved
@PointKernel PointKernel merged commit ed620ab into dev Apr 6, 2023
@PointKernel PointKernel deleted the refactor branch April 6, 2023 00:46
@PointKernel PointKernel added the topic: static_set Issue related to the static_set label Apr 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
helps: rapids Helps or needed by RAPIDS Needs Review Awaiting reviews before merging topic: static_set Issue related to the static_set type: feature request New feature request
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants