-
Notifications
You must be signed in to change notification settings - Fork 22
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
CUDA support #71
Comments
For systems with glibc in the prefix using /usr/lib64/nvidia as location may be a good choice. On my brightcomputing system the CUDA libraries can be simply linked from |
Bart reported on Slack yesterday that the
This means that, with these newer version, we could also make symlinks to the host's libcuda. The only annoying thing is that the location can, apparently, differ between distros, so I guess we would need something like a variant symlink that allows site to override the location of |
I don't understand this stuff well enough but I think that a symlink might only get us out of jail with a pure CUDA code? Comparing the I took a look at the OpenGL configuration for JSC and if we want to use visualisation capabilities on the available GPU, we would also need some of the other driver libraries. |
Yes, you probably need more, but I guess the same thing could be done for those? The advantage of that approach could be that it would for instance work out of the box on all systems that have these libraries in |
We could probably learn a lot from what happens with containers and GPUs, they would have the same issues with passing through driver libraries. |
See https://sylabs.io/guides/3.5/user-guide/gpu.html#library-search-options They maintain two lists, one for NVIDIA, one for AMD |
Thanks to #91, the |
Add jsonschema as test dependency for archspec
I was experimenting with CUDA support within EESSI and ran into the issue that, when using CUDA compiled with the EESSI stack, the CUDA libraries from the host are not seen by the executables created by
nvcc
. This is because it looks for the CUDA driver libraries in the prefix, where they do not exist. There are a few viable solutions:LD_PRELOAD
...but this requires that you know exactly which libraries to preload.LD_LIBRARY_PATH
...but in the system that I was on, the CUDA libraries are in/usr/lib64
so this would drag in a lot of unwanted libraries. This could be worked around by symlinking the libraries to a more unique location in the host (Compute Canada uses/usr/lib64/nvidia
and has a script that creates the necessary symlinks).The text was updated successfully, but these errors were encountered: