I just started to play around with dynamic parallelism since I got a new gtx 780.
I configured the environment like this:
- View -> Property Pages
- Configuration Properties -> CUDA C/C++ -> Common -> Generate Relocatable Device Code -> Yes (-rdc=true)
- Configuration Properties -> CUDA C/C++ -> Code Generation -> compute_35,sm_35
- Configuration Properties -> Linker -> Input -> Additional Dependencies -> cudadevrt.lib
Here is the issue: When I use the win32 release mode, it runs just as it should be, but once I change it to debug mode, it fails when compiling the project:
cudadevrt.lib(cuda_device_runtime.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL':value '0' doesn't match value '2' in kernel.
Plus, I also use the x64 debug & release mode, it turned out I can only run it with the console window disappearing immediately after it pops up. And I also can’t debug host code in x64 mode, only the device code in x64 can be debugged.