C++ CUDA调试:“;“目标位置无值”;,我清楚地设定了一个值
我遇到了一个非常令人沮丧的错误,代码中的变量“没有值”。 下面是我的代码图片,底部有调试器信息 我的原始代码只有红色的方块,但我在蓝色的方块中添加了“Xmax=40”,只是想看看是否可以将一个值强制输入变量中。显然,你可以看到仍然存在一个问题。你能理解我为什么会犯这个错误吗C++ CUDA调试:“;“目标位置无值”;,我清楚地设定了一个值,c++,cuda,C++,Cuda,我遇到了一个非常令人沮丧的错误,代码中的变量“没有值”。 下面是我的代码图片,底部有调试器信息 我的原始代码只有红色的方块,但我在蓝色的方块中添加了“Xmax=40”,只是想看看是否可以将一个值强制输入变量中。显然,你可以看到仍然存在一个问题。你能理解我为什么会犯这个错误吗 您遇到的问题很可能是由于变量的有效范围。大多数编译器在编译用于调试的代码时,会将变量的活动范围扩展为等于变量的范围 NVCC编译器不会扩展变量的活动范围。此外,即使未指定优化标志,NVCC编译器也会执行一些优化。这可能导致消
您遇到的问题很可能是由于变量的有效范围。大多数编译器在编译用于调试的代码时,会将变量的活动范围扩展为等于变量的范围 NVCC编译器不会扩展变量的活动范围。此外,即使未指定优化标志,NVCC编译器也会执行一些优化。这可能导致消除用户指定的变量。扩展变量的活动范围是CUDA调试器功能请求列表中最重要的项目之一,但我无法告诉您这个问题将在哪个版本中得到解决
我建议您通过CUDA注册开发人员程序来解决这个问题。您遇到的问题很可能是由于变量的活动范围造成的。大多数编译器在编译用于调试的代码时,会将变量的活动范围扩展为等于变量的范围 NVCC编译器不会扩展变量的活动范围。此外,即使未指定优化标志,NVCC编译器也会执行一些优化。这可能导致消除用户指定的变量。扩展变量的活动范围是CUDA调试器功能请求列表中最重要的项目之一,但我无法告诉您这个问题将在哪个版本中得到解决
我建议您通过CUDA注册开发人员程序来解决这个问题。如果您想解决编译器的生命周期优化问题,可以在内核末尾读取变量(以编译器无法优化的方式,例如修改全局变量)如果您想解决编译器的生命周期优化问题,可以在内核末尾读取变量(以编译器无法优化的方式,例如修改全局变量),而不是写入。