I am trying to run a program wirttten in CUDA C++, but get the following error in one of the subroutines and the program stops:
timeintegration.cu:1028: error: cuda function call failed:
cudaMemcpyToSymbol(matYoungModulus, &matYoungModulus_d, sizeof(void*));
message: invalid device symbol
My card is a GeForce GTX 760 and I am using CUDA 11.4.4, driver version 470.82.01, Ubuntu 18.04.6, kernel 5.4.0.
The piece of code in timeintegration.cu where this error arises is this:
The same exact program runs normally in another desktop with a GeForce GTX 1080 card, using CUDA 11.0.1, driver version 450.102.04, Ubuntu 16.04.7, kernel 4.15.0.
Does anybody have any clue of what could be the problem?
your compiled executable (whether via CUDA 11.4.4 or CUDA 11.0.1) could not possibly contain cc3.0 device code, therefore the module fails to load. When the module fails to load, not only are there no binaries for execution on the device (which would be the typical error if you tried to launch a kernel in this configuration) but since the module fails to load, device symbols are also invalid.