カーネルが奇妙なエラーメッセージまたは「0」のみの結果を生成する理由の回答を検索するSOでこの回答を見つけました。これは、nvidiaGPUで実行されているカーネルに5秒のタイムアウトがあることを示しています。タイミングをグーグルで検索しましたが、確認ソースや詳細情報が見つかりませんでした。
あなたはそれについて何を知っていますか?
タイムアウトにより、実行時間が長いカーネルで奇妙な動作が発生する可能性がありますか?
ありがとう!
さらにグーグルすると、CUDA_Toolkit_Release_Notes_Linux.txt(既知のIssus)でこれが発生しました。
#個々のGPUプログラムの起動は、ディスプレイが接続されたGPUでの実行時間が5秒未満に制限されています。この制限時間を超えると、通常、CUDAドライバーまたはCUDAランタイムを通じて報告される起動エラーが発生します。ディスプレイが接続されていないGPUは、5秒のランタイム制限の対象ではありません。このため、CUDAは、ディスプレイに接続されておらず、Windowsデスクトップが拡張されていないGPUで実行することをお勧めします。この場合、システムには、プライマリグラフィックアダプタとして機能するNVIDIAGPUが少なくとも1つ含まれている必要があります。
【更新】この機能の正式名称は「ウォッチドッグ」のようです。
Windows Vista以降を使用している場合、TDRタイムアウトを調整しない限り、WDDMドライバースタックは約2秒後にデバイスを自動的にリセットします。(Windowsは、長いカーネルを実行しているGPUとロックされているGPUの違いを認識できません。)TCCモードで実行されているTeslaブランドのカードは、通常のディスプレイアダプターの制限を受けないため、より長いカーネルを実行できます。