0

我想重置(设置为 0)一个 unsigned int 类型的缓冲区。我不知道为什么,但对我来说只有 cuMemsetD8 版本有效。这是我的代码:

CUdeviceptr pBuffer;
cuMemAlloc(&pBuffer, sizeof(unsigned int) * 1000);
cuMemsetD32(pBuffer, 0, sizeof(unsigned int) * 1000); // fails with invalid argument (range) error
4

1 回答 1

3

cuMemsetD32的第三个参数是元素数,而不是字节数。所以应该是:

CUdeviceptr pBuffer;
cuMemAlloc(&pBuffer, sizeof(unsigned int) * 1000);
cuMemsetD32(pBuffer, 0, 1000);
于 2012-08-29T13:54:46.083 回答