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 an example RAPIDS-accelerated Hive UDF using native code #1472

Merged
merged 1 commit into from
Jan 11, 2021

Conversation

jlowe
Copy link
Member

@jlowe jlowe commented Jan 7, 2021

Closes #1353

This adds an example of a Hive UDF that leverages native CUDA code to implement a RAPIDS-accelerated version. A Dockerfile is provided to show how to setup an environment for compiling the native UDF code against libcudf and the version of cub, thrust, and libcudacxx used by libcudf.

An integration test is provided, but the user must supply the --rapids_udf_example_native flag in order to enable the test, as most nightly builds will not bother to perform the extra steps necessary to build the native code required by the new example.

Documentation that covers this native example and implementing RAPIDS-acclerated Hive UDFs in general will be covered in #1354.

Signed-off-by: Jason Lowe <jlowe@nvidia.com>
@jlowe jlowe added this to the Jan 4 - Jan 15 milestone Jan 7, 2021
@jlowe jlowe self-assigned this Jan 7, 2021
@jlowe
Copy link
Member Author

jlowe commented Jan 7, 2021

build

Copy link
Collaborator

@tgravescs tgravescs left a comment

Choose a reason for hiding this comment

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

overall looks fine to me, but would be good to get someone more familiar with c++/cuda side to review.
Do we want to put the cuda version in the name of the jar or library?
Do we want to add README here to explain using docker file and use profile udf-native-examples or is that in the other PR?

@tgravescs
Copy link
Collaborator

oops never mind, you already said docs later

@jlowe
Copy link
Member Author

jlowe commented Jan 8, 2021

Do we want to put the cuda version in the name of the jar or library?

The native code statically links the CUDA runtime, so we don't need to put the CUDA version in the jar name.

@sameerz sameerz added the task Work required that improves the product but is not user facing label Jan 11, 2021
@jlowe jlowe merged commit 1f73c88 into NVIDIA:branch-0.4 Jan 11, 2021
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
@jlowe jlowe deleted the hive-native-udf branch September 10, 2021 15:41
tgravescs pushed a commit to tgravescs/spark-rapids that referenced this pull request Nov 30, 2023
…IDIA#1472)

Signed-off-by: spark-rapids automation <70000568+nvauto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Work required that improves the product but is not user facing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEA] Example of RAPIDS UDF using custom GPU code
3 participants