这是内核代码的一部分 - 为每个线程声明变量和所需的操作
.global.f32 sum = 0.0
.reg.f32 reg;
atom.global.add.f32 reg, [sum], val;
我想在每个线程中将不同的变量添加到全局变量sum中。 我假设上面发布的代码是正确的 - 一切都顺利编译。但是我将全局变量的值反馈给主机有问题。
在内核执行后,我有以下代码用于主机。
CUdeviceptr hostSumPtr;
size_t bytes;
cuModuleGetGlobal(&hostSumPtr, &bytes, hModule, "sum");
但返回错误代码500“CUDA_ERROR_NOT_FOUND”
有没有办法获取内核中向主机声明的全局变量的值,还是通过不同的方法绕过这个问题?
答案 0 :(得分:1)
有3个问题:
问题已解决。