Skip to content
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

Linking directly with cudart causes problems for other apps linking to yaksa #258

Open
green-br opened this issue Oct 17, 2024 · 0 comments

Comments

@green-br
Copy link

I have been building MPICH via Spack and it pulls in yaksa as a dependency. This seems to then make all programs that is compiled with MPI bringing in the cudart library from yaksa. This then caused issues in other programs where it compiles with mpicc and it may check whether a CUDA function is available and doesn't think it needs to link against cudart since it finds it already in the MPI library. Also, depending on library search path, it will always use the version of CUDA library at build time (for example rpath is used to fix library locations).

I propose that yaksa should use dlopen to open up the cudart library at runtime to use the functions it requires - this is what MPICH and OpenMPI use to make CUDA a runtime load rather than fixing at build time.

Thoughts welcome since I am not clear what the standard approach for this should be. Maybe I am misunderstanding something and happy to be corrected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant