私は次のコード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のメモリを搭載したGTX675Mで実行しています。また、GPU_MAX_PWの2番目の定義は約1000000000×2÷1024÷1024 = 1907 MBになるため、メモリが不足していません。より多くのメモリを割り当てるだけなので、何が問題になる可能性がありますか?グリッドとブロックの構成が不可能になるのではないでしょうか。
エラーは次の行を指していることに注意してください。
HANDLE_ERROR(cudaMemcpy(gwords, gpuHashes, sizeof(unsigned short) * GPU_MAX_PW, cudaMemcpyDeviceToHost));