[SYCL][CUDA] Fix cupti library dynamic loading#17272
Merged
kbenzie merged 1 commit intointel:syclfrom Mar 4, 2025
Merged
Conversation
This patch fixes loading the cupti library on Linux to rely on the dynamic linker to figure out where the library is. It also disable cupti tracing on Windows, as far as I know this is only used on Linux at the moment since the tracing tools don't support Windows.
Seanst98
reviewed
Mar 3, 2025
Seanst98
approved these changes
Mar 3, 2025
Contributor
Author
rafbiels
added a commit
to rafbiels/llvm
that referenced
this pull request
Mar 5, 2025
find_package(CUDA) is deprecated since CMake 3.10 and the functionality we need is provided by find_package(CUDAToolkit) since CMake 3.17. Thanks to SYCL configuration now requiring CMake >3.20 (intel#13664), we can rely on find_package(CUDAToolkit) to work in all setups. Remove the deprecated calls and replace them with the recommended one. Clean up all extra CMake code dealing with finding CUPTI as that is also no longer needed (partially thanks to intel#17272). Replace all variables from the old module with corresponding ones from the new one. This solves multiple issues with finding libraries, notably including the failure to find libcuda.so automatically on systems where the CUDA driver is not installed and only the toolkit is available. This is a reasonable use case for building DPC++ on a build machine without a GPU and distributing for use on GPU machines.
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.
This patch fixes loading the cupti library on Linux to rely on the dynamic linker to figure out where the library is.
It also disable cupti tracing on Windows, as far as I know this is only used on Linux at the moment since the tracing tools don't support Windows. Additionally there are some potential security issues of loading the library just by name on Windows, so we just leave Windows support out for now.
This is following up on the discussions on oneapi-src/unified-runtime#1070, statically linking the cupti library was also ruled out as it makes the adapter library go from around 600KiB to around 32MiB.