-
Notifications
You must be signed in to change notification settings - Fork 90
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
Building for many CUDA archs leads to linker errors #1734
Comments
if reducing more architectures, will it still happen? |
If you remove all references to the NVTX library (including the header #include) from |
Building for just one architecture works, but that does not help. The intention is to build a general binary package that can be used efficiently on any GPU architecture. Also, I've found a reduced set of archs that works for Ginkgo 1.8.0 but will lead to the same error on the next release (currently develop branch), and it is not practical to reduce architectures again and again for new releases.
It is not a problem with one specific library. Just tried to build it on a different system (without any code changes) and a different name appears in the output:
|
Hi @lahwaacz , I can reproduce it on my side. Unfortunately, it does not work with |
FYI, I just had to drop 5 more architectures in order to be able to build Ginkgo 1.9.0 with CUDA on Arch Linux. I can build just for I have not tried the patch for splitting yet... |
Hi @lahwaacz |
With Note that when building for target_sources(ginkgo_cuda_4
PRIVATE
${BATCH_BICGSTAB_INSTANTIATE1}
${BATCH_BICGSTAB_INSTANTIATE2}
)
target_sources(ginkgo_cuda_5
PRIVATE
${BATCH_CG_INSTANTIATE1}
${BATCH_CG_INSTANTIATE2}
) So in the end, ginkgo-hpc-cuda 1.9.0-1 in Arch Linux has the following library sizes:
|
Thanks for testing! |
While building a package for Arch Linux, I found that enabling all CUDA architectures (
-DGINKGO_CUDA_ARCHITECTURES="All"
) leads to this error on the final link:For 1.8.0 we worked around it by omitting a few architectures:
But building the develop branch now fails again with the same trick... Any ideas? Maybe split
libginkgo_cuda.so
to several smaller libs?The text was updated successfully, but these errors were encountered: