【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

即可在输出路径中找到输出文件,查看相应信息:
在这里插入图片描述