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

[FEA] Add bounded_queue data structure #138

Open
wphicks opened this issue Feb 8, 2021 · 4 comments
Open

[FEA] Add bounded_queue data structure #138

wphicks opened this issue Feb 8, 2021 · 4 comments
Assignees

Comments

@wphicks
Copy link
Contributor

wphicks commented Feb 8, 2021

In work on rapidsai/cuml#3410, I introduced a bounded queue for performance reasons. This is a general enough data structure with a common enough use case that it should probably be made available in RAFT.

The basic idea of this data structure is that when you know that there is some reasonable upper limit on the size of your queue and you can get an approximate sense of what that limit is before you begin filling it (or even an approximate sense that you update periodically as you fill it), then it is better to simply store the data in a vector and keep track of a "front" and "end" index into that vector than to use a stdlib queue. This is primarily because the C++ standard for stdlib queue has certain requirements on when memory gets de- or re-allocated that can result in a non-optimal (in terms of runtime) memory allocation strategy when you know that running out of memory for the underlying vector would not be a problem.

@wphicks wphicks added the feature request New feature or request label Feb 8, 2021
@wphicks wphicks self-assigned this Feb 8, 2021
@github-actions
Copy link

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.

@wphicks
Copy link
Contributor Author

wphicks commented Mar 10, 2021

Still worth doing, still on my list; just haven't gotten around to it yet.

@github-actions
Copy link

github-actions bot commented Apr 9, 2021

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.

@github-actions
Copy link

This issue has been labeled inactive-90d due to no recent activity in the past 90 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed.

dantegd pushed a commit to dantegd/raft that referenced this issue Jul 23, 2024
We are using cmake-rs to link the c++ cmake build and the rust build. This had the side effect of causing us to always recompile all of libcuvs with the rust bindings. With the migration of the libraft ann code to cuvs, this has led to the rust bindings being the bottleneck in building.

Get around this by creating a new dummy cmake target that depends on cuvs, and having this target only build libcuvs if needed.

Authors:
  - Ben Frederickson (https://github.com/benfred)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai/cuvs#138
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant