-
Notifications
You must be signed in to change notification settings - Fork 569
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
Compile CUDA libraries for aarch64-linux #10223
Comments
We already are running the glibc-based programs for the current compilation flow, so I think the main problem is the tag matching and Pkg. Perhaps we could make a "fake" musl version of the CUDA_SDK_jll that just includes all the glibc files again. Then the HostBuildDependency should have a package matching its specification. Originally posted by @imciner2 in #10217 (comment) |
Yes, but even then I'm not sure that the x86_64 version of the CUDA SDK will know how to target ARM, because they're pretty clear it's not a cross compiler. I think it's best to wait until we can execute the ARM version under qemu (and the same for Windows using Wine). Originally posted by @maleadt in #10217 (comment) |
That's addressed by #10322. |
Actually, libc++ may not even be needed (but now we have it anyway), the order of the headers in the search paths was messed up: JuliaPackaging/BinaryBuilderBase.jl#405 |
Some updates from what I understand:
Edit: error I was facing related to the last point was
but that's not actually related to header files for aarch64 vs x86_64 (they're actually identical, compare them in https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.6.77-archive.tar.xz vs https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.6.77-archive.tar.xz for example), that's instead NVIDIA/thrust#1703 and due to the fact I'm using libstdc++ 13, which conflicts with CUDA 12.6. Sounds like there's hope. |
Update: using |
That's correct, we currently can only generate CUDA binaries for targets that match the host system (i.e., x86_64). In fact, I recently investigated exactly this for libxc, but didn't manage to get it working. I'll copy my conclusions here, before Slack swallows them:
With BinaryBuilder2.jl, the qemu/binfmt solution will be integrated, and we should be able to automatically execute foreign binaries and depend on the target-specific CUDA SDK. Given the amount of work it would require to get it working right now, I decided to wait for BinaryBuilder2.jl.
Originally posted by @maleadt in #10217 (comment)
The text was updated successfully, but these errors were encountered: