Does ROOT building load the stub version of cudaRT?

Hello, I was wondering if ROOT uses the stub version of cudaRT when I use it to build other libraries. I get the following error when I attempt to use a Thrust call within a .so file that was compiled in part with ROOT:

Cuda API error detected: cudaGetLastError returned (0x34)
(this is the definition from the Cuda Docs)
cudaErrorStubLibrary = 34:
This indicates that the CUDA driver that the application has loaded is a stub library. Applications that run with the stub rather than a real driver loaded will result in CUDA API returning this error.

I run on a pretty standard system with V100, all up to date drivers, Cuda 11.5 toolkit and the latest nvhpc compiler.

The exact same call works when I use it in main() instead of in a call to a simple function within the .so built with ROOT.

Would appreciate any insight!


ROOT Version: Latest stable on GitHub
Platform: Linux
Compiler: NVHPC

Did you build ROOT with NVHPC? AFAIK that’s not actually possible?

Do you have a reproducer? Which library produces the Cuda API error - is this a ROOT library?

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