-
Notifications
You must be signed in to change notification settings - Fork 908
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
Ensure cuco export set is installed in cmake build #11147
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 this looks good to me
@@ -15,7 +15,7 @@ | |||
# This function finds cuCollections and performs any additional configuration. | |||
function(find_and_configure_cucollections) | |||
include(${rapids-cmake-dir}/cpm/cuco.cmake) | |||
rapids_cpm_cuco(BUILD_EXPORT_SET cudf-exports) | |||
rapids_cpm_cuco(BUILD_EXPORT_SET cudf-exports INSTALL_EXPORT_SET cudf-exports) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes sense, but I am confused why the below rapids_export_package
is not having the same effect. The error is definitely occurring for you when BUILD_SHARED_LIBS=OFF
, right? So the rapids_export_package
call should be happening?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified via CMakeCache file that BUILD_SHARED_LIBS is indeed OFF. No idea why the original code isn't installing the cuco cmake files as it should.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with this change since it seems like we should be doing it anyway (we should probably remove the manual rapids_export_package
logic below since it's redundant now, at least in theory), but I'm just going to play with the build a little to try to understand why this is happening to make sure that we have the right fix and aren't breaking the shared lib use case in some surprising way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should only be added when BUILD_SHARED_LIBS
is a false value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the cuco cmake files are only installed when building static libraries, how does rapids_find_package(cudf)
work in the shared library case? Or is cuco not listed as a dependency of libcudf in that case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also curious about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It isn't listed as a dependency in those cases as the headers aren't exposed as part of the public API.
We only need to expose it for static linking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I experimented this morning but wasn't able to track down the underlying issue here, or why this wasn't necessary prior to #11139. Chatted with @jlowe offline and we're going to wait for @robertmaynard to take a look on Monday to confirm that there aren't concerns that we're missing here before we merge.
The reason we some new logic is that We need to remove |
Codecov Report
@@ Coverage Diff @@
## branch-22.08 #11147 +/- ##
===============================================
Coverage ? 86.33%
===============================================
Files ? 144
Lines ? 22751
Branches ? 0
===============================================
Hits ? 19641
Misses ? 3110
Partials ? 0 Continue to review full report at Codecov.
|
I tried changing When |
When |
I expect that is exactly what is happening. |
@gpucibot merge |
Fixes #11146
Adds the cuco dependency information to the install exports for cudf. Verified this change fixes the spark-rapids-jni build.