I am using an NVIDIA GTX 780 with CUDA 6.5 in Ubuntu 14.04. I’m re-adapting an existing program that I developed to exploit dynamic parallelism. I use CMake to build the program and Qt Creator to compile it. I had to set the CUDA_SEPARABLE_COMPILATION to “true” in CMake (which is logical according to what I have read) but for some reason I didn’t need to include the lib “libcudadevrt.a” which is supposed to be necessary. In this context, I can compile and run my code, but whenever I define a kernel which calls other kernels the whole program stops working properly, even if I don’t use this kernel. It’s only defining or not defining something that uses dynamic parallelism which makes my program to work or not, not actually using it. I suspect there must be something related to linking or not some libraries; I also tried to link “libcudadevrt.a” and the result is the same, although I don’t know how to check whether it was linked properly or not.
I have spent many days trying to find out the problem but I cannot, any help/advise will be more than welcome.