2017-03-14 17 views
0

私はUbuntu 16.04をインストールしたサーバを持っています。それはK80 GPUを持っています。複数のプロセスがGPUを使用しています。UbuntuでプロセスのGPUメモリ使用量を最大限にする方法は? (Nvidia GPU用)

一部のプロセスでは、予測できないGPUの使用状況があり、GPUの使用状況を確実に監視したいものがあります。

私はあなたが:nvidia-smi経由でGPUの使用法を照会できることを知っていますが、それはあなたに照会された時間にのみ使用されます。

現在、私は100ミリ秒ごとに情報を照会していますが、それはGPUの使用量をサンプリングするだけであり、ピークGPUの使用をスキップする可能性があります。

特定のPIDプロセスで最大のGPUメモリ使用量を得るための信頼できる方法はありますか?

+0

あなたはおそらく[ 'cuMemFree()']、[ 'cuMemAlloc()'](http://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__MEM.html#group__CUDA__MEM_1gb82d2a09844a58dd9e744dc31e8aa467)への呼び出しをインターセプトしたいです(http://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__MEM.html#group__CUDA__MEM_1g89b3f154e17cc89b6eea277dbdf5c93a)と関連機能を[LD_PRELOADトリック](http://stackoverflow.com/questions/426230/what-is-the-ld-preload-trick)を使用します。次に、あなたが望む任意の方法で、ピーク/サステイン/任意メトリックのメモリ使用量を記録することができます。 – tera

答えて

1

NVIDIAビジュアルプロファイラをお試しください。私はそれがどれほど正確かはわかりませんが、あなたのプログラムが動いているときのさまざまな時にデバイスのメモリ使用量のグラフをあなたに与えます。

関連する問題