Skip to content

Vendor libnvcomp in libcudf #19743

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

Open
wants to merge 22 commits into
base: branch-25.10
Choose a base branch
from
Open

Conversation

bdice
Copy link
Contributor

@bdice bdice commented Aug 19, 2025

Description

Now that kvikio no longer uses nvcomp, we need to vendor libnvcomp in the libcudf wheels so that nvcomp can be fully removed as a dependency of kvikio.

Merge this just before rapidsai/kvikio#805.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Copy link

copy-pr-bot bot commented Aug 19, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@bdice bdice added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change breaking Breaking change and removed non-breaking Non-breaking change labels Aug 19, 2025
@bdice
Copy link
Contributor Author

bdice commented Aug 19, 2025

/ok to test

@bdice
Copy link
Contributor Author

bdice commented Aug 19, 2025

/ok to test

@bdice
Copy link
Contributor Author

bdice commented Aug 19, 2025

/ok to test

@bdice
Copy link
Contributor Author

bdice commented Aug 19, 2025

/ok to test

install(
FILES ${nvcomp_lib_path}
DESTINATION ${SKBUILD_PLATLIB_DIR}/libcudf/lib64/
RENAME libnvcomp.so.5
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@KyleFromNVIDIA Is there a way to know the SOVERSION and use that programmatically rather than hardcoding 5 here? Or maybe we need a regex to extract the first digit after ".so" in the filepath...?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cursor found a solution I like in d5c47cc. See what you think.

Copy link
Contributor

Choose a reason for hiding this comment

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

Why not just copy over the WheelHelpers file that you deleted in kvikio? This is precisely the use case we wrote it for.

Copy link
Contributor Author

@bdice bdice Aug 20, 2025

Choose a reason for hiding this comment

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

I looked over this with @KyleFromNVIDIA just now. WheelHelpers.cmake installed too many things -- it got both libnvcomp.so.5 and libnvcomp.so.5.0.0.6. We do not have enough binary size available in libcudf's wheels to ship both. We can only afford to ship the soversion'd file.

@bdice bdice requested review from KyleFromNVIDIA and vyasr August 20, 2025 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change improvement Improvement / enhancement to an existing function
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants