0

我正在使用具有 2 个 GPU 的远程机器来执行具有 CUDA 代码的 Python 脚本。为了找到可以提高代码性能的地方,我尝试使用nvprof.

我已经在我的代码上设置了我只想在远程机器上使用 2 个 GPU 中的一个,尽管在调用时nvprof --profile-child-processes ./myscript.py,每个 GPU 上都会启动一个具有相同 ID 的进程。

nvprof为了只使用一个 GPU 进行分析,我可以给出任何论据吗?

4

1 回答 1

0

CUDA 环境变量CUDA_VISIBLE_DEVICES用于限制 CUDA 运行时 API 仅使用某些 GPU。你可以这样尝试:

CUDA_VISIBLE_DEVICES="0" nvprof --profile-child-processes ./myscript.py

此外,nvprof记录在案,并且还通过nvprof --help. 查看命令行帮助,我看到了一个--devices开关,它似乎限制了至少某些功能只能使用特定的 GPU。你可以试试:

nvprof --devices 0 --profile-child-processes ./myscript.py
于 2017-04-09T08:06:56.063 回答