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

Fix multibyte check for case convert for large strings #15721

Merged
merged 12 commits into from
May 16, 2024

Conversation

davidwendt
Copy link
Contributor

Description

Fixes check for multibyte characters on large strings column. The thrust::count_if exceeds the int64 reduce type maximum and so the logic was recoded as a native kernel. Added additional tests and fixed subsequent errors where kernels are launched with greater than max(size_type) threads.

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 bug Something isn't working 2 - In Progress Currently a work in progress libcudf Affects libcudf (C++/CUDA) code. strings strings issues (C++ and Python) non-breaking Non-breaking change labels May 10, 2024
@davidwendt davidwendt self-assigned this May 10, 2024
@github-actions github-actions bot added the CMake CMake build issue label May 10, 2024
@davidwendt davidwendt added 3 - Ready for Review Ready for review by team and removed 2 - In Progress Currently a work in progress labels May 13, 2024
@davidwendt davidwendt marked this pull request as ready for review May 13, 2024 17:43
@davidwendt davidwendt requested a review from a team as a code owner May 13, 2024 17:43
@davidwendt davidwendt requested review from bdice and ttnghia May 13, 2024 17:43
cpp/tests/large_strings/concatenate_tests.cpp Outdated Show resolved Hide resolved
cpp/tests/large_strings/case_tests.cpp Outdated Show resolved Hide resolved
cpp/tests/large_strings/case_tests.cpp Outdated Show resolved Hide resolved
cpp/tests/large_strings/case_tests.cpp Outdated Show resolved Hide resolved
total_bytes,
d_new_chars);
constexpr size_t block_size{256};
// cudf::detail::grid_1d limited to size_type elements
Copy link
Contributor

Choose a reason for hiding this comment

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

should we fix this? to use size_t ?

Copy link
Contributor Author

@davidwendt davidwendt May 14, 2024

Choose a reason for hiding this comment

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

Perhaps worth a discussion. I'm not sure how common this will be and how much impact it will have.
Certainly not something I'd wish to solve in this PR.

cpp/src/strings/case.cu Outdated Show resolved Hide resolved
Copy link
Contributor

@karthikeyann karthikeyann left a comment

Choose a reason for hiding this comment

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

LGTM

@davidwendt
Copy link
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit c7fe7fe into rapidsai:branch-24.06 May 16, 2024
70 of 72 checks passed
@davidwendt davidwendt deleted the fix-ls-case branch May 16, 2024 14:44
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 bug Something isn't working CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change strings strings issues (C++ and Python)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants