Unresolved external symbol

Hey, I started adapting some CUDA code to take advantage of dynamic parallelism in visual studio 2012 and started getting the following linker error

error LNK2001: unresolved external symbol ___fatbinwrap_66_tmpxft_00000b3c_00000000_17_cuda_device_runtime_compute_52_cpp1_ii_8b1a5d37

With some investigation, the code compiles and links fine as long as I don’t add the ChildKernel line below:

dim3 ChildBlock(BLOCK_X_AXISCOUNT, BLOCK_Y_AXISCOUNT, 1);
dim3 ChildGrid( XGridDim, YGridDim, ZGridDim );
ChildKernel<<<ChildGrid, ChildBlock>>>( /parameters/ );

I assume the compiler notices the use of dynamic parallelism and therefore requires additional libraries to be included to support it, but I have included all the .lib files in the SDK … /lib folder and still no-go.

Hi krazanmp,

Do you include cudadevrt.lib? This is a Cuda linking issue, not Nsight one. You may refer to these doces. Thanks. Qian

https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#programming-guidelines (C3.3)
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-dynamic-parallelism