デバイス メモリから入力を取得し、共有メモリ (カーネルの起動時にデバイス メモリから読み込まれる) 内のデータを使用して出力を生成する CUDA カーネルを作成しています。出力は、ホストが読み取るデバイスに配置されます。
デバイスメモリから共有メモリにデータを繰り返しロードする必要がないように、このカーネルを継続的に実行したいと考えています。私の考えている解決策は、カーネルが起動されると、デバイス メモリの入力を継続的にチェックすることです。入力が 0 の場合、入力がないことを意味します。入力が 1 の場合、カーネルが停止する必要があることを意味します。他のすべての入力については、カーネルが計算を実行し、出力を返す必要があります。
私の問題は、継続的に実行され、入力のためにデバイス メモリをポーリングするカーネルを見たことがないことです。明らかな懸念事項の 1 つは、GPU が継続的に動作している場合、このアプローチでは電力が過剰に消費される可能性があることです。このアプローチに関するコメント/提案を提供してください。