Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CUDA调试:“;“目标位置无值”;,我清楚地设定了一个值_C++_Cuda - Fatal编程技术网

C++ CUDA调试:“;“目标位置无值”;,我清楚地设定了一个值

C++ CUDA调试:“;“目标位置无值”;,我清楚地设定了一个值,c++,cuda,C++,Cuda,我遇到了一个非常令人沮丧的错误,代码中的变量“没有值”。 下面是我的代码图片,底部有调试器信息 我的原始代码只有红色的方块,但我在蓝色的方块中添加了“Xmax=40”,只是想看看是否可以将一个值强制输入变量中。显然,你可以看到仍然存在一个问题。你能理解我为什么会犯这个错误吗 您遇到的问题很可能是由于变量的有效范围。大多数编译器在编译用于调试的代码时,会将变量的活动范围扩展为等于变量的范围 NVCC编译器不会扩展变量的活动范围。此外,即使未指定优化标志,NVCC编译器也会执行一些优化。这可能导致消

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

我的原始代码只有红色的方块,但我在蓝色的方块中添加了“Xmax=40”,只是想看看是否可以将一个值强制输入变量中。显然,你可以看到仍然存在一个问题。你能理解我为什么会犯这个错误吗


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

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


我建议您通过CUDA注册开发人员程序来解决这个问题。

您遇到的问题很可能是由于变量的活动范围造成的。大多数编译器在编译用于调试的代码时,会将变量的活动范围扩展为等于变量的范围

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


我建议您通过CUDA注册开发人员程序来解决这个问题。

如果您想解决编译器的生命周期优化问题,可以在内核末尾读取变量(以编译器无法优化的方式,例如修改全局变量)如果您想解决编译器的生命周期优化问题,可以在内核末尾读取变量(以编译器无法优化的方式,例如修改全局变量),而不是写入。