I have the following problem:
I have several .cu files. Each of them calls an inline function foo which is declared in config.h header file.
I rebuild whole project (under Visual Studio), run it.
Everything works fine.
Now I change the content of foo function in the header.
Modify one of the .cu files.
Recompile the modified file.
Run it.
At this point I expect this one .cu file to use the updated version of foo, however that is not the case.
However if I recompile whole project, everything works fine.
I tried the following:
- modify foo so that it wouldn’t compile at all. Error is reported as expected by the compiler, so it is recompiled.
- read the big file generated by the parser, to see if something is not included incorrectly. That is not the case.
- modify the calling function to check if it is linked correctly. It is.
It is a purely CPU code compiled through nvcc.
Possible walkaround: rebuild whole project after each change. But I don’t want to wait minutes after every tiny change!
So, any ideas what may be the problem? What I could try to resolve it?
I tried to make a simple 3-file example to try to nail it down, but I failed. Probably if I was able to reproduce the problem, I would be able to resolve this!