I’m developing an application for heterogeneous clusters with some GPU-enhanced nodes and other CPU-only nodes. Ideally, I would like to have a single executable run within an MPI context that checks for GPUs (cudaGetDeviceCount) and uses the GPU calls if present. I’m unable to do this however because I can’t install the nvidia driver on the nodes without compatible GPUs, and the application fails when it doesn’t find libcuda.so.
Is there a way to force the driver install (or a dummy driver of some sort?) without a compatible GPU? Any suggestions to avoid having to run different builds of the code on GPU and GPU-less nodes would be highly appreciated.