compat.sycl-runtime 2026.09.07: the adapter carries the driver hop - #355
Merged
Conversation
…CL project need not know CUDA is underneath 2026.09.06 farms the SYCL runtime and its dlopen chain, and a SYCL artifact using the CUDA back end still needed `compat:cuda-runtime` declared beside it, because `libur_adapter_cuda.so.0` reaches `libcuda.so.1` through the artifact's own search path. That is a true statement about the implementation and a poor one to put in a user's manifest: which back end the SYCL runtime dlopens is the runtime's business, not the project's. 2026.09.07 declares `xim:libcuda-host-link` and links the same versioned soname `compat.cuda-runtime` links -- the same sentinel, the same file, the same soname, so a program that has both farms on its path loads it once. Only the versioned name: mcpp puts `runtime.library_dirs` on the LINK line as well, and an unversioned `libcuda.so` would be found by `-lcuda` and bind the build to one machine's driver. Nothing is required of the machine. On one with no NVIDIA driver the sentinel installs a deliberately dangling link and warns, and the SYCL runtime reports its CUDA back end unavailable -- which is the correct answer and the one it would give anyway. Measured: a consumer declaring `compat:sycl-runtime = "2026.09.07"` and NOTHING else from compat, with `xim:dpcpp`, `xim:gcc` and `xim:cuda-nvcc` in its workspace, answers `12 24 36 48` on an RTX 4080. 2026.09.06 is kept and frozen; a consumer already pinning it keeps resolving and installs the farm it always did.
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.
2026.09.06 farms the SYCL runtime and its dlopen chain, and a SYCL artifact
using the CUDA back end still needed
compat:cuda-runtimedeclared beside it,because
libur_adapter_cuda.so.0reacheslibcuda.so.1through the artifact'sown search path. That is a true statement about the implementation and a poor
one to put in a user's manifest: which back end the SYCL runtime dlopens is the
runtime's business, not the project's.
2026.09.07 declares
xim:libcuda-host-linkand links the same versioned sonamecompat.cuda-runtimelinks -- the same sentinel, the same file, the samesoname, so a program that has both farms on its path loads it once. Only the
versioned name: mcpp puts
runtime.library_dirson the LINK line as well, andan unversioned
libcuda.sowould be found by-lcudaand bind the build toone machine's driver.
Nothing is required of the machine. On one with no NVIDIA driver the sentinel
installs a deliberately dangling link and warns, and the SYCL runtime reports
its CUDA back end unavailable -- which is the correct answer and the one it
would give anyway.
Measured: a consumer declaring
compat:sycl-runtime = "2026.09.07"and NOTHINGelse from compat, with
xim:dpcpp,xim:gccandxim:cuda-nvccin itsworkspace, answers
12 24 36 48on an RTX 4080.2026.09.06 is kept and frozen; a consumer already pinning it keeps resolving
and installs the farm it always did.