LAMMPS: set $LD_PRELOAD for testing CUDA build without device present - #4190
LAMMPS: set $LD_PRELOAD for testing CUDA build without device present#4190laraPPr wants to merge 5 commits into
$LD_PRELOAD for testing CUDA build without device present#4190Conversation
| self.cfg['runtest'] = False | ||
|
|
||
| if self.cuda: | ||
| if not get_gpu_info(): |
There was a problem hiding this comment.
With just checking get_gpu_info for any returned value, this branch might not get executed on a node with an AMD GPU.
Instead, we should check if any NVIDIA GPU is found.
There was a problem hiding this comment.
Wait I don't see the issue with that emmediatly. It is first checking if it is build with CUDA. If an amd gpu is present it is still not gonna find the libcuda.so?
There was a problem hiding this comment.
The current code sets LD_PRELOAD if CUDA is in the dependencies but no GPU is found.
If an NVIDIA GPU is present, libcuda.so likely exists due to the NVIDIA drivers.
If an AMD GPU is present but no NVIDIA GPU, LD_PRELOAD is not set and we'll fail the same way as for no GPU, which is tried to get fixed here.
There was a problem hiding this comment.
Ah I don't have access to an AMD GPU so it will hard for me to test it. Would you use a CUDA installation on an AMD GPU? @casparvl would somebody at surf be interested into looking into this case?
There was a problem hiding this comment.
I think it is ok for now to ignore AMD GPU's in this pr. Because this is also only a fix for the EESSI stack. When I'm crosscompiling on our local stack it is still failing during the build-step. I'm trying to track down the difference between the two enironments.
Co-authored-by: Jan André Reuter <jan@zyten.de>
$LD_PRELOAD for testing CUDA build without device present
(created using
eb --new-pr)