设备修改选项(DEVICE MODIFICATION OPTIONS)
修改GPU设备的命令,支持的参数列表如下:
-pm, --persistence-mode= 设置持久性模式: 0/DISABLED, 1/ENABLED
-e, --ecc-config= 切换 ECC 支持: 0/DISABLED, 1/ENABLED
-p, --reset-ecc-errors= 重置 ECC 错误计数: 0/VOLATILE, 1/AGGREGATE
-c, --compute-mode= 为计算应用程序设置模式:
0/DEFAULT, 1/EXCLUSIVE_PROCESS,
2/PROHIBITED
-dm, --driver-model=
-fdm, --force-driver-model= 强制启用或禁用 TCC 驱动程序模型。
--gom= 设置 GPU 操作模式:
0/ALL_ON, 1/COMPUTE, 2/LOW_DP
-r --gpu-reset 触发 GPU 的重置。
可用于在需要重启机器的情况下重置 GPU 硬件状态。
如果发生双位 ECC 错误,通常很有用。
重置操作不能保证在所有情况下都有效,应谨慎使用。
-vm --virt-mode= 切换 GPU 虚拟化模式:
将 GPU 虚拟化模式设置为 3/VGPU 或 4/VSGA。
GPU 的虚拟化模式只能在它运行在管理程序上时设置。
-lgc --lock-gpu-clocks= 将指定的一对 <minGpuClock,maxGpuClock> 时钟
频率取值范围(例如 1500,1500),设置为需锁定
的 GPU 时钟频率的范围(以 MHz 为单位)。
无论 GPU 上是否存在正在运行的应用程序,设置此项
将取代applications-clocks并生效。
输入也可以是一个单一的期望时钟值
(例如 <GpuClockValue>)。
-rgc --reset-gpu-clocks 重置 GPU 时钟频率到默认值。
-lmc --lock-memory-clocks= 将指定的一对 <minMemClock,maxMemClock> 时钟
频率取值范围(例如 5100,5100) ,设置为需锁定
的 GPU 内存时钟频率的范围(以 MHz 为单位)。
输入也可以是一个单一的期望时钟值
(例如<MemClockValue>).
-rmc --reset-memory-clocks 重置 GPU 内存时钟频率到默认值。
-ac --applications-clocks= 将指定的一对 <memory,graphics> 时钟
频率值(例如 2000,800) ,设置为 GPU 上
运行的应用程序的memory和graphics时钟
频率值(以 MHz 为单位)。
-rac --reset-applications-clocks 重置应用程序时钟到默认值。
-pl --power-limit= 以瓦特为单位指定最大电源管理限制。
-cc --cuda-clocks= 覆盖或恢复默认 CUDA 时钟频率。
在覆盖模式下,GPU 在运行 CUDA 应用程序时
时钟频率更高。 仅适用于从 Volta 系列开始的
受支持设备。 需要管理员权限。
0/RESTORE_DEFAULT, 1/OVERRIDE
-am --accounting-mode= 启用或禁用记帐模式: 0/DISABLED, 1/ENABLED
-caa --clear-accounted-apps 清除缓冲区中所有已记账的进程pid信息。
--auto-boost-default= 将默认自动增强策略设置为 0/DISABLED
或 1/ENABLED,仅在最后一个提升客户端
退出后强制执行更改。
--auto-boost-permission= 允许非管理员/root 对自动增强模式进行控制:
0/UNRESTRICTED, 1/RESTRICTED
-mig --multi-instance-gpu= 启用或禁用多实例 GPU: 0/DISABLED, 1/ENABLED
需要 root 权限.
-gtt --gpu-target-temp= 以摄氏度为单位设置 GPU 的 GPU 目标温度。
需要管理员权限
-c 设置计算模式
设置目标 GPU 的计算模式。
计算模式标志指示单个或多个计算应用程序是否可以在 GPU 上运行。
0/Default:表示每个设备允许多个上下文。
1/Exclusive_Thread:已弃用,改用 Exclusive_Process
2/Prohibited:表示每台设备不允许使用任何上下文(无计算应用程序)。
3/Exclusive_Process: 表示每个设备只允许一个上下文,一次可从多个线程使用。
有关计算模式的说明,请参阅(GPU 属性)部分。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
此操作的效果是立竿见影的。
但它不会在主机重新启动后持续存在。
每次主机重新启动后,计算模式将重置为“DEFAULT”。
取值范围:0/Default, 2/Prohibited, 3/Exclusive_Process
运行示例:
设置 0:Default 模式运行示例:
nvidia-smi -c 0
Exclusive_Thread模式已禁止设置:
nvidia-smi -c 1
可以看到,执行设置 Exclusive_Thread 模式的命令并未执行成功,输出提示该命令已废弃,应当使用3:Exclusive_Process 替代,通过nvidia-smi命令也可以看到,计算模式仍然是 Default ,上条命令并未修改成功。
设置 2:Prohibited 模式运行示例:
nvidia-smi -c 2
设置 3:Exclusive_Process 模式运行示例:
nvidia-smi -c 3
-dm/-fdm 开启(强制开启) TCC 驱动程序模型
-dm 开启 TCC 驱动程序模型
-fdm 强制开启 TCC 驱动程序模型
有关 Windows 驱动程序模型的详细信息,请参阅驱动程序模型。
注意:
仅适用于 Windows。
需要管理员权限。
如果连接了显示器,-dm 将失败, 但 -fdm 将强制更改驱动程序模型。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
需要重新启动才能进行更改。
运行示例:
开启 TCC 驱动程序模型
cd C:\Program Files\NVIDIA Corporation\NVSMI
nvidia-smi.exe -dm 1
强制开启 TCC 驱动程序模型
cd C:\Program Files\NVIDIA Corporation\NVSMI
nvidia-smi.exe -dm 1
--gom 设置 GPU 操作模式
设置 GPU 操作模式:
GOM 允许通过禁用 GPU 功能来降低功耗并优化 GPU 吞吐量。每个 GOM 都旨在满足特定的用户需求。
0/ALL_ON:模式下,一切都已启用并全速运行。
1/COMPUTE:模式旨在仅运行计算任务。不允许图形操作。
2/LOW_DP:模式专为运行不需要高带宽双精度的图形应用程序而设计。
有关 GOM 的更多信息,请参阅 GPU 操作模式。
注意: 0/ALL_ON、1/COMPUTE、2/LOW_DP 支持 Kepler 系列的 GK110 M 级和 X 级 Tesla 产品。
Quadro 和 Tesla C 级产品不支持。
GeForce Titan 设备仅支持LOW_DP 和 ALL_ON 模式。
仅1/COMPUTE不支持 WDDM(Windows 显示驱动程序模型)
需要管理员权限。
GOM 更改在重启后生效。 将来可能会删除重新启动要求。
取值范围:0/ALL_ON, 1/COMPUTE, 2/LOW_DP
运行示例:
nvidia-smi --gom=0
注意:
由于本环境使用GPU卡是A30,暂不支持设置gom模式,因此命令并未执行成功,此处只是为了演示命令本身是没有错误的。
-r 触发 GPU 的重置
触发一个或多个 GPU 的重置。可用于在需要重启机器的情况下清除 GPU 硬件和软件状态。如果发生双位 ECC 错误,通常很有用。可选的 -i 开关可用于针对一个或多个特定设备。如果没有此选项,所有 GPU 都会被重置。
不能有任何应用程序使用这些设备(例如 CUDA 应用程序、图形应用程序(如 X 服务器)、监控应用程序(如其他 nvidia-smi 实例))。系统中的任何其他 GPU 上也不能运行任何计算应用程序
从 NVIDIA Ampere 架构开始,可以单独重置具有 NVLink 连接的 GPU。在 NVSwitch 系统上,需要 Fabric Manager 来促进重置。
如果 Fabric Manager 未运行,或者任何要重置的 GPU 基于 NVIDIA Ampere 架构之前的架构,则任何具有 NVLink 连接到要重置的 GPU 的 GPU 也必须在同一命令中重置。这可以通过省略 -i 开关或使用 -i 开关来指定要重置的 GPU 来完成。如果 -i 选项未指定要重置的完整 NVLink GPU 集,则此命令将发出错误,标识必须包含在重置命令中的其他 GPU。
不能保证 GPU 重置在所有情况下都能正常工作。目前不建议用于生产环境。在某些情况下,板上的硬件组件可能无法在复位请求后恢复到初始状态。这更有可能在 Fermi 一代产品与 Kepler 上看到,如果在挂起的 GPU 上执行重置,则更有可能看到。
重置后,建议在进一步使用之前验证每个重置 GPU 的运行状况。如果任何 GPU 不健康,则应通过重启节点来启动完全重置。
访问 developer.nvidia.com/gpu-deploym… 下载 GDK。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
启用 MIG 的 vGPU Guests 机上不支持 GPU 重置操作。
运行示例:
设置 0:Default 模式运行示例:
nvidia-smi -r
如果当前仍然有程序在使用GPU,则会出现如下提示:
则说明未重置成功,确保没有任何程序在GPU上运行,再执行重置命令
-vm 切换 GPU 到虚拟化模式
切换 GPU 虚拟化模式: 将 GPU 虚拟化模式设置为 3/VGPU 或 4/VSGA。
注意: GPU 的虚拟化模式只能在它运行在管理程序上时设置。
取值范围:3/VGPU, 4/VSGA
运行示例:
设置 -vm 为 VGPU 模式
nvidia-smi -vm 3
注意:
由于本环境命令运行在Guest OS中,而不是管理面程序上,因此命令并未执行成功,此处只是为了演示命令本身是没有错误的。
设置 -vm 为 VSGA 模式
nvidia-smi -vm 4
注意:
由于本环境命令运行在Guest OS中,而不是管理面程序上,因此命令并未执行成功,此处只是为了演示命令本身是没有错误的。
附加选项
-i 显示单个指定GPU的数据
-i, --id=ID
显示单个指定 GPU 的数据。指定的 id 可能是驱动程序返回的自然枚举中 GPU 的从 0 开始的索引、GPU 的板序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID(如 domain:bus:device.function in hex)。建议需要一致性的用户使用 UUID 或 PCI 总线 ID,因为设备枚举顺序不能保证在重新启动之间保持一致,并且板序列号可能在同一板上的多个 GPU 之间共享。