我有以下代码http://pastebin.com/vLeD1GJm工作得很好,但如果我增加:
#define GPU_MAX_PW 100000000
到:
#define GPU_MAX_PW 1000000000
然后我收到:
frederico@zeus:~/Dropbox/coisas/projetos/delta_cuda$ optirun ./a
block size = 97657 grid 48828 grid 13951
unspecified launch failure in a.cu at line 447.. err number 4
我在具有 2GB 内存的 GTX 675M 上运行它。GPU_MAX_PW 的第二个定义大约有 1000000000×2÷1024÷1024 = 1907 MB,所以我没有内存不足。由于我只分配更多内存,可能是什么问题?也许网格和块配置变得不可能?
请注意,错误指向此行:
HANDLE_ERROR(cudaMemcpy(gwords, gpuHashes, sizeof(unsigned short) * GPU_MAX_PW, cudaMemcpyDeviceToHost));