TMVA pointing at wrong cuda when rebuilding root

So I am trying to get a root/pyroot/keras gpu setup build on a machine. The machine already had CUDA 11.3 on it, but I needed 11.8 so I upgraded it. Most of the correct stuff seems to be pointing at 11.8 now, but TMVA is still searching for something in 11.3… When rebuilding root I get the following error:

make[2]: *** No rule to make target '/usr/local/cuda-11.3/include/cublas_api.h', needed by 'tmva/tmva/G__TMVA.cxx'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:37122: tmva/tmva/CMakeFiles/G__TMVA.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

It shouldn’t be even looking in cuda 11.3 so I’m not sure where this reference comes from? Any advice appreciated, cheers.

Please read tips for efficient and successful posting and posting code

_ROOT Version:6.24

I guess you need to rebuild your ROOT completely from scratch again.

Yeah I did a make clean before hand. I think the FindCudaToolkit() might be pointing at the wrong place, is there any way I can view where it’s pointing and change the values?

“Rebuild from scratch” means you first need to completely remove your current build directory.

Ah okay, I thought a make clean would do the same thing. I’m on it now, give me 5…

Okay so first I get this:

CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCUDACompiler.cmake:46 (message):
   The CUDA compiler


   is not able to compile a simple test program.

This is because again, it is pointing to the wrong nvcc…

I can fix that by pointing to the correct one with the flag:

but i now also see:

Do these need to point to something?

CUDNN_INCLUDE_DIR               */usr/include
 CUDNN_LIBRARY                   */usr/lib/x86_64-linux-gnu/

these two look set ok?

Okay yeah that worked thank you. I ended up pointing CUDA_SDK_ROOT_DIR to the same place as CUDA, and left CUDNN_ROOT_DIR unassigned. Not sure if that’s correct or not.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.