-
Notifications
You must be signed in to change notification settings - Fork 304
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
[REVIEW] Optimize dask.uniform_neighbor_sample #2887
[REVIEW] Optimize dask.uniform_neighbor_sample #2887
Conversation
Codecov ReportBase: 60.43% // Head: 61.71% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## branch-22.12 #2887 +/- ##
================================================
+ Coverage 60.43% 61.71% +1.27%
================================================
Files 114 123 +9
Lines 6547 7543 +996
================================================
+ Hits 3957 4655 +698
- Misses 2590 2888 +298
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. |
wait(cudf_result) | ||
|
||
ddf = dask_cudf.from_delayed(cudf_result).persist() | ||
# Send tasks all at once |
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.
Just one comment; it would be nice to have a helper function for this so we can apply it to more algorithms. But I suggest we leave that to a future PR given how much work we have left before burndown.
To clarify, this was referencing lines 174-180
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.
👍
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.
Thanks for testing this thoroughly @jnke2016 , I really appreciate it. Can you post a link to the code that you ran to get to a hand as i could not get it to hand in my testing on 8 GPUs . We can probably add those statements back and give back I am gonna try looking into a real fix of the problem today |
You can run this on 2 GPUs.
|
@jnke2016 , Thanks for this script. Let me investigate more :-) |
Swapping client.submit to client.map is runnning into issues with work-stealing (See internal thread). Swapping it back gets rid of the hang . We still see speedups (See updated benchmarks in the PR description on a 8 GPU cluster) but we will not be as fast as we should be on large clusters . (We currently loose Anyways, I have verified that your script works on 1,2,3,4,5,6,7,8 GPUs with 50 iterations each without hanging. I will make the cluster agnostic changes in 23.02 as it is more involved. Please feel free to review again |
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
@rerun tests |
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.
It looks good.
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.
This looks good to me.
@gpucibot merge |
This PR closes #2872 and part of https://github.com/rapidsai/graph_dl/issues/74 .
On a preliminary benchmark i am seeing a
,6x
3.5x
improvement and i expect more improvement on bigger clusters.Before PR :
After PR
Updated benchmark
Before PR:
After PR:
We should probably follow similar things for other algos too.
CC: @jnke2016 , @rlratzel , @alexbarghi-nv .