Always build with JIT+LTO#1923
Merged
rapids-bot[bot] merged 28 commits intorapidsai:mainfrom Mar 25, 2026
Merged
Conversation
Since rapidsai#1909, we've been able to use older versions of the CUDA driver, since we no longer rely on `cudaLibraryEnumerateKernels()`. Since rapidsai#1918, we've been using static cudart, which allows us to run on platforms with versions of CUDA older than 12.8 installed, since the runtime library API is now bundled with cuvs. Always build with JIT+LTO so that we can get the full compile time and binary size benefits in CUDA 12 too.
KyleFromNVIDIA
commented
Mar 16, 2026
divyegala
approved these changes
Mar 16, 2026
Member
Author
|
It seems that even after #1918, we're still not using We have to get rmm on |
Member
Author
|
We've decided to switch to the driver API instead, since rmm is blocked on rapidsai/cudf#20814, which in turn is also blocked. |
divyegala
reviewed
Mar 16, 2026
divyegala
reviewed
Mar 16, 2026
divyegala
reviewed
Mar 16, 2026
KyleFromNVIDIA
commented
Mar 23, 2026
benfred
approved these changes
Mar 23, 2026
KyleFromNVIDIA
commented
Mar 23, 2026
Member
Author
KyleFromNVIDIA
left a comment
There was a problem hiding this comment.
Remove the debug statement when finished
bdice
reviewed
Mar 24, 2026
bdice
approved these changes
Mar 24, 2026
Member
Author
|
Blocked on #1936 |
Contributor
|
Just merged #1936 in |
Member
Author
|
/merge |
jrbourbeau
pushed a commit
to jrbourbeau/cuvs
that referenced
this pull request
Mar 25, 2026
Since rapidsai#1909, we've been able to use older versions of the CUDA driver, since we no longer rely on `cudaLibraryEnumerateKernels()`. Since rapidsai#1918, we've been using static cudart, which allows us to run on platforms with versions of CUDA older than 12.8 installed, since the runtime library API is now bundled with cuvs. Always build with JIT+LTO so that we can get the full compile time and binary size benefits in CUDA 12 too. Authors: - Kyle Edwards (https://github.com/KyleFromNVIDIA) - Bradley Dice (https://github.com/bdice) Approvers: - Divye Gala (https://github.com/divyegala) - Ben Frederickson (https://github.com/benfred) - Bradley Dice (https://github.com/bdice) URL: rapidsai#1923
jrbourbeau
pushed a commit
to jrbourbeau/cuvs
that referenced
this pull request
Mar 25, 2026
Since rapidsai#1909, we've been able to use older versions of the CUDA driver, since we no longer rely on `cudaLibraryEnumerateKernels()`. Since rapidsai#1918, we've been using static cudart, which allows us to run on platforms with versions of CUDA older than 12.8 installed, since the runtime library API is now bundled with cuvs. Always build with JIT+LTO so that we can get the full compile time and binary size benefits in CUDA 12 too. Authors: - Kyle Edwards (https://github.com/KyleFromNVIDIA) - Bradley Dice (https://github.com/bdice) Approvers: - Divye Gala (https://github.com/divyegala) - Ben Frederickson (https://github.com/benfred) - Bradley Dice (https://github.com/bdice) URL: rapidsai#1923
rapids-bot bot
pushed a commit
to rapidsai/cugraph
that referenced
this pull request
Mar 31, 2026
rapidsai/cuvs#1923 switched cuVS to always enabling JIT+LTO, and therefore requiring nvJitLink at build and runtime. Previously, it had only been required for CUDA 13. cuGraph pulls cuVS via CPM and builds it from source, but wasn't updated to match, resulting in CUDA 12 builds here failing like this: ```text │ │ CMake Error at build/_deps/cuvs-src/cpp/CMakeLists.txt:754 (target_link_libraries): │ │ Target "cuvs" links to: │ │ CUDA::nvJitLink │ │ but the target was not found. Possible reasons include: │ │ * There is a typo in the target name. │ │ * A find_package call is missing for an IMPORTED target. │ │ * An ALIAS target is missing. │ │ CMake Error at build/_deps/cuvs-src/cpp/CMakeLists.txt:812 (target_link_libraries): │ │ Target "cuvs_static" links to: │ │ CUDA::nvJitLink │ │ but the target was not found. Possible reasons include: │ │ * There is a typo in the target name. │ │ * A find_package call is missing for an IMPORTED target. │ │ * An ALIAS target is missing. ``` ([example build link](https://github.com/rapidsai/cugraph/actions/runs/23767677532/job/69251605108?pr=5469#step:11:1108)) This resolves that, by removing "if CUDA 13" types of guards around this project's libnvJitLink dependency. ## Notes for Reviewers ### Some builds may still fail here Like this: ```text /__w/cugraph/cugraph/python/libcugraph/build/py3-none-linux_aarch64/_deps/cccl-src/lib/cmake/cub/../../../cub/cub/device/dispatch/kernels/kernel_scan_warpspeed.cuh(455): error: more than one instance of function template "cub::detail::scan::warpReduce" matches the argument list: function template "T raft::warpReduce(T, ReduceLambda)" (declared at line 49 of /pyenv/versions/3.14.3/lib/python3.14/site-packages/libraft/include/raft/util/reduction.cuh) function template "Tp cub::detail::scan::warpReduce(Tp, ScanOpT &)" (declared at line 247) argument types are: (unsigned int, raft::add_op) regWarpSum = warpReduce(regThreadSum, scan_op); ``` Until rapidsai/cuvs#1954 is resolved, which @viclafargue is working on in rapidsai/cuvs#1963 Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Bradley Dice (https://github.com/bdice) - Chuck Hastings (https://github.com/ChuckHastings) URL: #5479
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since #1909, we've been able to use older versions of the CUDA driver, since we no longer rely on
cudaLibraryEnumerateKernels(). Since #1918, we've been using static cudart, which allows us to run on platforms with versions of CUDA older than 12.8 installed, since the runtime library API is now bundled with cuvs. Always build with JIT+LTO so that we can get the full compile time and binary size benefits in CUDA 12 too.