我有以下代码http://pastebin.com/vLeD1GJm至极工作得很好,但如果我增加:CUDA未指定发射失败的错误
#define GPU_MAX_PW 100000000
到:
#define GPU_MAX_PW 1000000000
然后我得到:
[email protected]:~/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));
我在cudaThreadSynchronize()后添加了一个代码验证。并且错误在那里,而不是在验证结果 –
如果您运行nvidia-smi -a(没有在GPU上运行)报告了多少空闲内存? –
@RobertCrovella它报告“免费:2037 MB” –