【发布时间】:2014-03-21 14:06:49
【问题描述】:
我在调试 CUDA 内核时遇到问题。某些变量无法在调试器中评估。经过大量调查和简化项目和代码后,我有一个非常简单的项目,其中包含对 DLL 中主机函数的主应用程序调用,其中调用内核。 使用 Visual Studio 的项目向导实际创建的内核代码。 另外我有 EMPTY .cu 文件。当它包含在构建中时,我遇到了问题。 当此文件从构建中排除时 - 一切正常。 空文件的dll调试版本大小为92kb,不带90kb。
我的设置是 视窗 7 专业版 x64 VS2010 专业版 NVIDIA Nsight VS 版本 3.2.2 CUDA SDK 5.5 英伟达驱动331.82
【问题讨论】:
-
您的问题是什么?我只看到你的问题列表?还请提供更多信息,例如您的简单项目。
-
我的问题是调试代码。如果不调试代码和评估变量,我就无法转发我的项目。我可以分享完整的解决方案(5kb zip 中的 12 个文件)。链接到 Google Drive 没问题?
-
不要在您的问题中添加外部链接。当这些链接失效时,这个问题对未来的读者来说就变得毫无用处了。相反,将您的问题提炼成可以在问题中完全发布的简短内容。很可能在做这个缩减的过程中,你可能会自己发现问题或关键问题。
-
我从解决方案开始,包括 5 个项目和大约 400 个文件。空文件最初也包含代码。我将有问题的项目与由向导创建的项目按原样进行比较,但没有发现差异。我不明白空源文件如何将二进制文件增加 2K 并破坏调试信息。
-
这个问题对于使用过 CUDA 并花一分钟阅读(勇敢的努力但挣扎:) 非母语人士的英语的人来说是非常清楚的。不要轻率地结束问题。