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

Add row conversion code from spark-rapids-jni #14664

Merged
merged 10 commits into from
Dec 21, 2023

Conversation

ttnghia
Copy link
Contributor

@ttnghia ttnghia commented Dec 20, 2023

This temporarily moves the row conversion code from spark-rapids-jni into libcudf. It is necessary to have the row conversion code compiled in a static library to overcome a CCCL issue that triggers invalid memory access when calling to thrust::in(ex)clusive_scan (NVIDIA/spark-rapids-jni#1567).

This also removes the existing (outdated) row_conversion code under the java folder in cudf repository.

In the future, when we have CCCL updated to fix the issue (1567), we may need to move the code back into spark-rapids-jni.

@ttnghia ttnghia added 3 - Ready for Review Ready for review by team libcudf Affects libcudf (C++/CUDA) code. Java Affects Java cuDF API. Spark Functionality that helps Spark RAPIDS non-breaking Non-breaking change Reliability labels Dec 20, 2023
@ttnghia ttnghia self-assigned this Dec 20, 2023
@ttnghia ttnghia requested review from a team as code owners December 20, 2023 23:37
@github-actions github-actions bot added the CMake CMake build issue label Dec 20, 2023
@vyasr vyasr added the bug Something isn't working label Dec 20, 2023
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like this is just copied/moved from java/src/main/native/src/row_conversion.hpp

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

The style diff here is because the code in java/ was not formatted with clang-format.

Copy link
Contributor

Choose a reason for hiding this comment

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

That accounts for the style diffs. There were material differences in the spark-rapids-jni version of row_conversion.cu that's not the easiest to spot in this diff. This remains a temp fix, of course, until the CCCL issue is resolved.

Copy link
Contributor

@mythrocks mythrocks left a comment

Choose a reason for hiding this comment

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

Let's update the description to mention that this is a workaround for the failure in spark-rapids-jni.

Signed-off-by: Nghia Truong <[email protected]>

namespace cudf {
namespace jni {
Copy link
Contributor

Choose a reason for hiding this comment

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

I admire your thoroughness in this, @ttnghia.

@hyperbolic2346
Copy link
Contributor

Seems there was a cmake file missed

@ttnghia
Copy link
Contributor Author

ttnghia commented Dec 21, 2023

/merge

@rapids-bot rapids-bot bot merged commit 36f56c9 into rapidsai:branch-24.02 Dec 21, 2023
67 checks passed
@ttnghia ttnghia deleted the row_conversion branch December 27, 2023 23:45
rapids-bot bot pushed a commit that referenced this pull request Jan 4, 2024
A call to a deprecated `cudf::make_strings_column` factory function was introduced in #14664.
This call had been previously fixed in #14461 but was lost when the source file was moved in #14664.

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

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

URL: #14695
copy-pr-bot bot pushed a commit that referenced this pull request Mar 5, 2024
This reverts commit 36f56c9.

# Conflicts:
#	cpp/include/cudf/row_conversion.hpp
#	cpp/tests/transform/row_conversion.cpp
#	java/src/main/native/src/row_conversion.cu
rapids-bot bot pushed a commit that referenced this pull request Mar 5, 2024
This is to remove the row conversion code from libcudf. It was move from spark-rapids-jni (by #14664) to temporarily workaround the issue due to conflict of kernel names that causes invalid memory access when calling to `thrust::in(ex)clusive_scan` (NVIDIA/spark-rapids-jni#1567).

Now we have fixes for the namespace visibility issue (by marking all libcudf kenels private in rapidsai/rapids-cmake#523 and NVIDIA/cuCollections#422) and need to move back the code.

Closes #14853.

Authors:
  - Nghia Truong (https://github.com/ttnghia)

Approvers:
  - David Wendt (https://github.com/davidwendt)
  - Bradley Dice (https://github.com/bdice)

URL: #15234
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 Java Affects Java cuDF API. libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Spark Functionality that helps Spark RAPIDS
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants