パラメータが不適切なカーネル(ブロックあたり512スレッド以上)を呼び出すとき、またはその内部のオペレーションがデバイスが提供するものより多くを必要とする)カーネルは単に実行されません。何が起こったのかを示すための例外や戻り値はありません。カーネルがCUDAで実行されたかどうかを確認する方法
カーネルが実行されたかどうかを確認する方法があるかどうかを知りたいと思います。
パラメータが不適切なカーネル(ブロックあたり512スレッド以上)を呼び出すとき、またはその内部のオペレーションがデバイスが提供するものより多くを必要とする)カーネルは単に実行されません。何が起こったのかを示すための例外や戻り値はありません。カーネルがCUDAで実行されたかどうかを確認する方法
カーネルが実行されたかどうかを確認する方法があるかどうかを知りたいと思います。
は、これはあなたに何が悪かったのかについての詳細なエラーを与える必要があります。この
kernel<<<blocks, threads>>>(params);
cudaError_t err = cudaGetLastError();
if (err != cudaSuccess)
printf("Error: %s\n", cudaGetErrorString(err));
を試してみてください。
EDIT:ここで適切にCUDAのエラーをチェックする方法についてのより詳細な答えです:
また、あなたがカーネルから何かを印刷することができます。これはデバッグに便利です。
これは私の問題でした! – nirvanaswap
ありがとうございました! – Raza