私は Arch Linux で実行しています:
カーネルの呼び出しが CPU に対して非同期であることを複数の場所で読みました (すぐに戻り、CPU を続行できるようにします)。しかし、私はその振る舞いを得ていません。
例えば
kernel<<<blocks,threads>>>();
printf("print immediately\n");
check_cuda_error();
CPU がロックアップしたように見え、カーネルが完了するまでコンソールに何も表示されません (同様に何も実行されません)。あらゆる種類の異なる実行時間 (1 秒、2 秒、3 秒など) のカーネルでテストし、それが私のカーネルではないことを確認するための計算を行いました。
これはドライバーの問題ですか?それとも私は何かを誤解していますか