CUDA调试:“目标位置没有值”,我清楚地设置了一个值

时间:2012-12-15 21:12:47

标签: c++ cuda

我遇到一个非常令人沮丧的错误,我的代码中的变量“没有值”。 下面是我的代码图片,底部有调试器信息。

我的原始代码只有红色方块,但我在蓝色方块“Xmax = 40”中添加,只是为了看看我是否可以强制将值放入变量中。显然你可以看到仍然存在问题。我有没有明白为什么会收到这个错误?

enter image description here

1 个答案:

答案 0 :(得分:4)

您遇到的问题很可能是由于变量的有效范围。编译调试代码时,大多数编译器会将变量的实时范围扩展为等于变量的范围。

NVCC编译器不会扩展变量的实时范围。此外,即使未指定优化标志,NVCC编译器也会执行一些优化。这可以导致消除用户指定的变量。扩展变量的实时范围是CUDA调试器功能请求列表中的首要项目之一,但我无法告诉您将在哪个版本中解决此问题。

我建议你通过CUDA注册开发者计划submit解决问题。