1. 设置多GPU环境下GPU的可见性
如果服务器上有多个GPU,可以设置程序只用某几个GPU。
# for NVIDIA GPUs
export CUDA_VISIBLE_DEVICES=0,1
export CUDA_VISIBLE_DEVICES=1
# for AMD GPUs
export ROCR_VISIBLE_DEVICES=0,1
在别人使用了默认的GPU0时,这个参数尤其有用。
2. nvidia-smi tips
列出所有GPU
nvidia-smi -L
列出所有正在运行的gpu进程
nvidia-smi -l
列出所有正在运行的gpu进程,包括进程的pid
nvidia-smi -l -q
列出所有正在运行的gpu进程,包括进程的pid,以及进程的命令行
nvidia-smi -l -q -x
列出所有正在运行的gpu进程,包括进程的pid,以及进程的命令行,以及进程的环境变量
对应AMD GPU上的工具是rocm-smi。
Reference
https://stackoverflow.com/questions/39649102/how-do-i-select-which-gpu-to-run-a-job-on https://github.com/RadeonOpenCompute/ROCm/issues/994
Comments