-
Notifications
You must be signed in to change notification settings - Fork 197
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
Decoupling raft handle from underlying resources #1111
Decoupling raft handle from underlying resources #1111
Conversation
getting "killed" on cleanup it seems.
itkeeps dying for me locally
…couple_handle_resources
Codecov ReportBase: 87.68% // Head: 87.99% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## branch-23.02 #1111 +/- ##
================================================
+ Coverage 87.68% 87.99% +0.30%
================================================
Files 20 21 +1
Lines 471 483 +12
================================================
+ Hits 413 425 +12
Misses 58 58
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really excited to see this change go in! Just one performance issue that I noticed, but otherwise it looks great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the design and implementation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spotted a few minor things while I was getting used to the new code.
…et/raft into fea-2302-decouple_handle_resources
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
/merge |
This implements a design idea a few of us have been kicking around for a little while now to help decouple underlying resources from the raft handle and also allow users to never have to explicitly include headers for resources that are never used (such as cublas, cusolver, cusparse, comms, etc...).
This effectively breaks the existing raft::handle_t into separate headers for the various resources it contains, providing functions that can be individually included and invoked on a
raft::resources
. This still allows us to write something like araft::device_resources
(and also allows us to maintain API compatibility in the meantime by backing the existingraft::handle_t
with araft::resources
.One of the major goals of this PR is to also enable a handle to be used outside of just cuda resources and to allow for unused resources to not need to be loaded nor compiled at all into user code downstream.
Follow-on work after this PR will include:
raft::resources
and using the individual resource accessors instead of assumingdevice_resources
everywhere.handle_t
in favor of the more explicitdevice_resources