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

Rework cudf::strings::detail::copy_range for offsetalator #15010

Merged
merged 12 commits into from
Feb 20, 2024

Conversation

davidwendt
Copy link
Contributor

Description

This reworks the cudf::strings::detail::copy_range() function to use the offsetalator instead of accessing the output offsets directly. Also refactored the code to remove the unnecessary template arguments. And added a benchmark to ensure these changes did not cause a performance impact.

Most of the code in cpp/include/cudf/strings/detail/copy_range.cuh was rewritten and moved to cpp/src/strings/copying/copy_range.cu.

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 Feb 8, 2024
@davidwendt davidwendt self-assigned this Feb 8, 2024
@github-actions github-actions bot added the CMake CMake build issue label Feb 8, 2024
@davidwendt davidwendt added 3 - Ready for Review Ready for review by team and removed 2 - In Progress Currently a work in progress labels Feb 14, 2024
@davidwendt davidwendt marked this pull request as ready for review February 15, 2024 15:06
@davidwendt davidwendt requested review from a team as code owners February 15, 2024 15:06
Copy link
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.

Approving CMake changes.

Copy link
Contributor

@vuule vuule left a comment

Choose a reason for hiding this comment

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

Bunch of small suggestions, the main blocking one is about the possible row_width/row_count confusion in the benchmark.

cpp/benchmarks/string/copy_range.cpp Outdated Show resolved Hide resolved
cpp/benchmarks/string/copy_range.cpp Outdated Show resolved Hide resolved
cpp/benchmarks/string/copy_range.cpp Show resolved Hide resolved
cpp/benchmarks/string/copy_range.cpp Outdated Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Outdated Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Outdated Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Outdated Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Show resolved Hide resolved
cpp/src/strings/copying/copy_range.cu Outdated Show resolved Hide resolved
@davidwendt davidwendt requested a review from vuule February 16, 2024 13:45
@davidwendt
Copy link
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit 3150676 into rapidsai:branch-24.04 Feb 20, 2024
68 of 69 checks passed
@davidwendt davidwendt deleted the copy-range-offsetalator branch February 20, 2024 15:41
rapids-bot bot pushed a commit that referenced this pull request Aug 27, 2024
Fixes the logic in `cudf::strings::detail::copy_range` handling of nulls in the target range. The optimization check for nulls is removed simplifying the logic and making it more reliable as well. The benchmark showed no significant change in performance.
Also adds a specific gtest for this case.
Error was introduced in #15010
Closes #16618

Authors:
  - David Wendt (https://github.com/davidwendt)

Approvers:
  - Nghia Truong (https://github.com/ttnghia)
  - Bradley Dice (https://github.com/bdice)

URL: #16626
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