CUDAコードを持つPythonスクリプトを実行するために、2つのGPUを持つリモートマシンを使用しています。コードのパフォーマンスを改善できる場所を見つけるために、nvprof
を使用しようとしています。nvprofは、Pythonスクリプトをプロファイリングするときに使用可能なすべてのGPUを使用しています
nvprof --profile-child-processes ./myscript.py
を呼び出すと、GPUのそれぞれで同じIDのプロセスが開始されますが、リモートマシンで2つのGPUのうちの1つだけを使用したいというコードを設定しました。
nvprof
には、プロファイリングに1つのGPUのみを使用するための引数がありますか?
環境変数 'CUDA_VISIBLE_DEVICES =" 0 "'を使って 'nvprof'アクセスを制限することができます。たとえば、 'CUDA_VISIBLE_DEVICES =" 0 "nvprof --profile-child-processes。/ myscript.py'は、nvprofを最初のGPUに制限し、' CUDA_VISIBLE_DEVICES = "1" nvprof --profile-child-processes ./myscript.py 'は2番目のGPUなどに制限します。env varは、[here](http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars)に記載されています。 'nvprof --help'は、ある種の活動を特定のGPUに制限する' --devices'スイッチを持っていることを示しています。 –