Expose "explicit-comms" option in shuffle-based dask_cudf functions#11576
Expose "explicit-comms" option in shuffle-based dask_cudf functions#11576rapids-bot[bot] merged 14 commits intorapidsai:branch-22.10from
Conversation
Correct, and I think it is a good idea to introduce a new |
Aha - I thought I remembered there being a way to use explicit-comms from dask/dask_cudf. Thanks for pointing that out! Do you know if anyone is using that config option? I do like that the monkey-patching approach enables explicit-comms for both cudf and pandas-backed data. However, I don't love that we are using explicit comms when I may need to hold off on this PR for a bit until I can figure out a way to keep things simple. |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## branch-22.10 #11576 +/- ##
===============================================
Coverage ? 87.40%
===============================================
Files ? 133
Lines ? 21833
Branches ? 0
===============================================
Hits ? 19084
Misses ? 2749
Partials ? 0 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. |
Motivated by discussions in rapidsai/cudf#11576 (primarilty [here](rapidsai/cudf#11576 (comment))). This PR updates the `rearrange_by_columns_tasks` wrapper to target `rearrange_by_columns` instead. The updated wrapper also handles the case that `shuffle="explicit-comms"`. Authors: - Richard (Rick) Zamora (https://github.com/rjzamora) Approvers: - Mads R. B. Kristensen (https://github.com/madsbk) - Lawrence Mitchell (https://github.com/wence-) URL: #992
|
@wence- @madsbk - This PR is now needed to utilize the changes in rapidsai/dask-cuda#992 in |
wence-
left a comment
There was a problem hiding this comment.
I think there is one possibility of a sequencing bug meaning that a call to sort_values wouldn't get an explicit-comms shuffle.
Other than that, a suggestion for refactoring _set_shuffle: WDYT?
|
@gpucibot merge |
|
I'll add @wence- to the list of reviewers for next time |
Due to some unfortunate issues with #11576 and rapidsai/dask-cuda#992, I feel that these PRs should be reverted before the 22.10 release. This PRs roll back some recent changes that allow users to explicitly pass `shuffle="explicit-comms"` to certain shuffle-based algorithms. cc @wence- Authors: - Richard (Rick) Zamora (https://github.com/rjzamora) Approvers: - GALI PREM SAGAR (https://github.com/galipremsagar) - Lawrence Mitchell (https://github.com/wence-) URL: #11803
Description
This PR exposes an option to use Dask-CUDA's explicit-comms shuffle for the primary shuffle-based
dask_cudf.DataFramemethods:shuffle,sort_values, andset_index. Although "explicit-comms" is still experimental, the explicit-shuffle algorithm is known to consistently outperform the "task"-based shuffle.As far as I can tell, it is not currently possible to use an "explicit-comms" shuffle in
dask_cudfwithout directly importing the function from Dask-CUDA (@madsbk - please do correct me if I am mistaken). In order to simplify benchmarking, and to utilize the optimized shuffle within high-cardinality groupby code, I propose that we make it easier to access the explicit shuffle.Checklist