我如何在 Windows 上 运行 nvidia-smi?

How do I run nvidia-smi on Windows?

nvidia-smi在命令提示符(CMD)中执行Windowsreturns出现以下错误

C:\Users>nvidia-smi
'nvidia-smi' is not recognized as an internal or external command,
operable program or batch file.

它位于哪里? CUDA 已经安装。

Nvidia-SMI默认存储在以下位置

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe

其中nvdm*是以nvdm开头,后面有未知字符数的目录。

注意:较旧的安装可能在 C:\Program Files\NVIDIA Corporation\NVSMI

您可以移动到该目录,然后从那里 运行 nvidia-smi。但是,命令提示符 window 不会持续存在,因此很难看到信息。此外,确定 nvdm* 目录是什么也很困难,因为它发生了变化,并且有多个这种格式的目录。更复杂的是,与 linux 不同,它不能通过不同路径的命令行执行。最好找到确切的位置并创建一个 运行 定期访问它的快捷方式。

找到您的确切位置

  1. 打开文件资源管理器(任务栏上的文件夹图标,靠近开始/Cortana/任务视图按钮)。
  2. 在左窗格中,单击 'This PC'。
  3. 在主查看器中,就在图标的顶部,是一个搜索栏。输入 nvidia-smi.exe 并回车。一段时间后它会出现。
  4. Right-click 并选择 'Open File Location' 并继续按照以下说明制作桌面快捷方式,或双击 运行 一次 (不推荐,因为它运行会在完成后关闭window,因此很难看到信息。

创建 运行s nvidia-smi 并定期刷新的快捷方式

  1. 按照'To find your exact location'下的上述步骤。
  2. 右键单击 nvidia-smi.exe(它可能只会在视图窗格中显示 nvidia-smi)并选择创建快捷方式。它可能会告诉您不能在此处创建快捷方式,并询问您是否要将其放在桌面上。点击是。
  3. 现在,在桌面上,右键单击您刚刚创建的快捷方式,点击属性,然后在 快捷方式 > 目标 下修改字符串路径以包含 -l <你希望它刷新的时间>

例如修改:

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe -l 5

然后点击"Apply",然后点击"OK"。

在此示例中,当您打开快捷方式时,它会保持命令提示符打开并允许您观看您的工作,因为 nvidia-smi 每五秒刷新一次。

您可以将 "C:\Program Files\NVIDIA Corporation\NVSMI" 添加到 PATH,然后重新启动控制台。

系统属性 > 高级 > 环境变量 > 系统变量 -> 路径 -> 编辑 > 新建 > 使用 nvidia-smi 插入文件夹路径

在我的 Windows 10 机器上安装了 CUDA 10.2,nvidia-smi.exe 可以在 C:\Windows\System32.

找到

因为 C:\Windows\System32 已经在 windows PATH 中,命令提示符中的 运行 nvidia-smi 现在应该开箱即用

  1. 转到文件浏览然后转到 C 盘在搜索栏中键入 nvidia-smi

  2. 有时当 exe 文件打开时等待,右键单击转到属性复制位置路径

  3. 然后转到anaconda命令提示符,使用步骤2中的复制路径更改工作目录

  4. 然后输入“nvidia-smi”回车

Click Here for more information

您可以稍后尝试编写一个.bat文件来进行一键操作

ECHO Open folder
::my nvidia-smi folder (nvidia-smi.exe can be found on two different folders, either is ok)
cd /d c:\Program Files\NVIDIA Corporation\NVSMI
::cd /d c:\Windows\System32\DriverStore\FileRepository\nvami.inf_amd64_42b7e5f6a9e28f81

ECHO NVIDIA-SMI
::use `-l < time you want it to refresh >` to keep window
call nvidia-smi.exe -l 3

参考@Hewston,上述脚本可以进一步简化如下:

::ECHO Open folder
::add my nvidia-smi folder to PATH variable
::cd /d c:\Program Files\NVIDIA Corporation\NVSMI

ECHO NVIDIA-SMI
::use `-l < time you want it to refresh >` to keep window
call nvidia-smi.exe -l 5

在 Windows 上,您可以使用 Power Shell 并每 1 秒向 GPU 摘要输入 nvidia-smi -l 1,或每毫秒输入 nvidia-smi -lms。不要忘记将CUDA环境文件添加到PATH中,如上述建议所述。