我有以下代碼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」 –