【发布时间】:2023-03-25 22:35:01
【问题描述】:
我正在使用具有 2 个 GPU 的远程机器来执行具有 CUDA 代码的 Python 脚本。为了找到可以提高代码性能的地方,我尝试使用nvprof。
我已经在我的代码中设置了我只想在远程机器上使用 2 个 GPU 中的一个,但在调用 nvprof --profile-child-processes ./myscript.py 时,每个 GPU 上都会启动一个具有相同 ID 的进程。
我可以给nvprof 提供任何参数以便仅使用一个 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会将其限制为第二个 GPU,等等。环境变量记录在 here。nvprof --help表明它有一个--devices开关,它也可以将某些活动限制在某些 GPU 上。
标签: python cuda profiling nvprof