特定の時点で GPU で実行されているプロセスの数を検出し、それらを管理する方法はありますか (必要に応じて、生成、再開、強制終了など)。私がやりたいことは、さまざまなプログラムを実行しながら、GPU 上の各プロセス アクティビティを監視することです。どうすればそれができるのかわかりませんでした。GPU コンテキストはプロセスに相当する CPU であることがわかりましたが、私が読んだすべての説明は、単一のプログラム内でそれに影響を与えることに関するものでした。ここでも、GPU 上のすべてのアクティビティをトレースする必要があります (nvidia-smi
ツールと同様ですが、独自の手段を使用します)。誰でもそれで私を助けることができますか?それは可能ですか?
1 に答える
1
GPU コンテキストはドライバー レベルの構造であり、GPU 自体はコンテキストについて何も知りません。それが知っているのは、ドライバーから送信されたコマンドキューがあり、それが通過して実行されることだけです。さまざまな API の GPU のサポートは、コマンド発行のサポートを公開しています。コマンドが完了したかどうかを検査するためのコマンドはありますが、コマンドをキャンセルするためのコマンドはないと思います。私の観点から、他のコンテキストでコマンドを検査または操作することは、コンテキストの概念を裏切ることになります。
RE: GPU が何を行っているかを検査します。ドライバー コマンド キューを追跡することで、ドライバー レベルでこれを行うことができます。ハードウェア コマンド キューのサンプリング状態を発行しています。これは多くの作業であるため、通常、このタスクは GPU に任せられます。実装するベンダー。
于 2016-08-09T12:03:00.120 に答える