Skip to content

Accelerate stable-segmented-sort with CUB segmented sort#12347

Merged
rapids-bot[bot] merged 9 commits intorapidsai:branch-23.02from
davidwendt:accel-stable-seg-sort
Dec 15, 2022
Merged

Accelerate stable-segmented-sort with CUB segmented sort#12347
rapids-bot[bot] merged 9 commits intorapidsai:branch-23.02from
davidwendt:accel-stable-seg-sort

Conversation

@davidwendt
Copy link
Copy Markdown
Contributor

@davidwendt davidwendt commented Dec 8, 2022

Description

Adds calls to cub::DeviceSegmentedSort::StableSortPairs for cudf::segmented_sorted_order.
Refactors libcudf segmented-sort and stable-segmented-sort functions into separate source files and moves the common code into segmented_sort_impl.cuh.
Also adds gtests for cudf::stable_segmented_sort.

Reference #11729

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@davidwendt davidwendt added 2 - In Progress Currently a work in progress libcudf Affects libcudf (C++/CUDA) code. improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Dec 8, 2022
@davidwendt davidwendt self-assigned this Dec 8, 2022
@github-actions github-actions bot added the CMake CMake build issue label Dec 8, 2022
namespace cudf {
namespace detail {

namespace {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This code moved to segmented_sort_impl.cuh

@@ -0,0 +1,324 @@
/*
Copy link
Copy Markdown
Contributor Author

@davidwendt davidwendt Dec 8, 2022

Choose a reason for hiding this comment

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

This code was moved from segmented_sort.cu and the calls to CUB's stable-segmented-sort functions are added.

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 8, 2022

Codecov Report

Base: 86.58% // Head: 85.76% // Decreases project coverage by -0.81% ⚠️

Coverage data is based on head (890c4e9) compared to base (b6dccb3).
Patch has no changes to coverable lines.

Additional details and impacted files
@@               Coverage Diff                @@
##           branch-23.02   #12347      +/-   ##
================================================
- Coverage         86.58%   85.76%   -0.82%     
================================================
  Files               155      155              
  Lines             24368    24795     +427     
================================================
+ Hits              21098    21266     +168     
- Misses             3270     3529     +259     
Impacted Files Coverage Δ
python/cudf/cudf/_version.py 1.41% <0.00%> (-98.59%) ⬇️
python/cudf/cudf/core/buffer/spill_manager.py 74.37% <0.00%> (-5.63%) ⬇️
python/cudf/cudf/utils/dtypes.py 77.77% <0.00%> (-1.69%) ⬇️
python/cudf/cudf/options.py 86.11% <0.00%> (-1.59%) ⬇️
python/cudf/cudf/core/single_column_frame.py 94.30% <0.00%> (-1.27%) ⬇️
python/dask_cudf/dask_cudf/io/parquet.py 91.81% <0.00%> (-0.59%) ⬇️
python/cudf/cudf/core/multiindex.py 91.66% <0.00%> (-0.51%) ⬇️
python/cudf/cudf/core/algorithms.py 90.00% <0.00%> (-0.48%) ⬇️
python/cudf/cudf/core/dataframe.py 93.50% <0.00%> (-0.09%) ⬇️
python/cudf/cudf/core/join/_join_helpers.py 98.52% <0.00%> (-0.07%) ⬇️
... and 32 more

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.
📢 Do you have feedback about the report comment? Let us know in this issue.

@davidwendt davidwendt added 3 - Ready for Review Ready for review by team and removed 2 - In Progress Currently a work in progress labels Dec 13, 2022
@davidwendt davidwendt marked this pull request as ready for review December 13, 2022 21:54
@davidwendt davidwendt requested review from a team as code owners December 13, 2022 21:54
Copy link
Copy Markdown
Contributor

@robertmaynard robertmaynard left a comment

Choose a reason for hiding this comment

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

CMake changes LGTM

@davidwendt
Copy link
Copy Markdown
Contributor Author

@gpucibot merge

@rapids-bot rapids-bot bot merged commit b8e84f5 into rapidsai:branch-23.02 Dec 15, 2022
@davidwendt davidwendt deleted the accel-stable-seg-sort branch December 15, 2022 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Ready for Review Ready for review by team CMake CMake build issue improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants