【nvidia-smi:command not found】如何在集群服务器上使用nvidia-smi查看GPU信息
1. nvidia-smi指令输出分析
对于普通的多卡服务器,nvidia-smi命令可以显示有关 NVIDIA 显卡和 GPU 的详细信息,如输入
nvidia-smi
得到以下输出,可以看到相应的CUDA版本,GPU显存大小等信息。
2. 集群上使用nvidia-smi指令
如果登录了服务器后,直接在命令行中输入nvidia-smi,会有如下报错:
bash: nvidia-smi: command not found
这是因为在集群中,我们只是登录到服务器上了,但没有运行作业,没有分配到GPU。我们需要提交一个作业,并在作业中运行nvidia-smi指令,从输出文件中读取相关信息。
以使用LSF作业调度系统为例,提交作业时往往需要编写一个check_nvidia_smi.sh文件,如下所示:
#/bin/bash
#BSUB -J nvidia-smi
#BSUB -n 1
#BSUB -q gpu
#BSUB -o 你的输出目录/nvidia_smi.txt
#BSUB -gpu "num=1:mode=exclusive_process"
nvidia-smi
其中,
-J 指定作业名称
-n 表示作业使用的核心数量
-q 表示将作业提交的队列,gpu表示使用gpu队列,如果不确定队列名称可以使用bqueues指令来查看
-o 表示输出文件的指定路径
-gpu “num=1:mode=exclusive_process” 表示独占1张卡来运行作业
然后在命令行中提交此作业
bsub < check_nvidia_smi.sh
即可在输出路径中找到输出文件,查看相应信息: