デバイス変更オプション
この記事では、NVIDIA-SMIシリーズコマンドの9番目の部分であるデバイス変更オプション(4)について説明し、nvidia-smiコマンドのデバイス変更オプションの最後の部分を紹介およびデモンストレーションし、次のコマンドを紹介します。
GPU最大電力制限コマンド-pl。
GPUデフォルトのcudaクロック周波数-ccをオーバーライドまたは復元します。
GPUアカウンティングモードコマンド-am/-acc。
GPU自動ブースト関連コマンド。
GPUカットMIG設定コマンド。
GPU温度設定関連コマンド。
デバイス変更オプション、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 目标温度。
需要管理员权限
-plはGPUの最大電力定格を設定します(単位:ワット)
最大電力制限をワットで指定します。整数と浮動小数点数を受け入れます。
設定する値は、nvidia-smiによって出力される最小電力制限と最大電力制限の間にある必要があります。
知らせ:
管理者権限が必要です。
-iパラメーターで単一のGPUが指定されていない限り、すべてのGPUに影響します。
Keplerシリーズがサポートされているデバイスでのみ動作します。
値の範囲:デバイスでサポートされる最小値〜デバイスでサポートされる最大電力
さまざまなデバイスでサポートされている最小および最大電力制限を次の図に示します。
デバイスモデル | 最小 | 最大電力制限 |
---|---|---|
NIVIDA A30 | 100.00W | 165.00W |
NIVIDA A100 | 100.00W | 400.00W |
NIVIDA V100 | 150.00W | 300.00W |
NVIDIA T4 | 60.00W | 70.00W |
例を実行します。
例を実行するには、GPU電力制限を200Wに設定します。
nvidia-smi -pl 200
GPUの電力が400.00Wから200.00Wに変更されていることがわかります。
もう一度nvidia-smiを実行すると、電力容量(Pwr:Usage / Cap)の位置が200Wになっていることがわかります。
知らせ:
A100モデルのGPUカードの場合、最小電力制限は100Wであり、電力制限を100W未満に設定すると、次のようなエラーが発生します。
nvidia-smi -pl 50
-ccはデフォルトのCUDAクロック周波数制限を上書きまたは復元します
覆盖或恢复默认 CUDA 时钟频率。 在覆盖模式下,GPU 在运行 CUDA 应用程序时 时钟频率更高。
注意:
需要管理员权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅适用于从 Volta 系列开始的受支持设备。
取值范围:0|RESTORE_DEFAULT, 1|OVERRIDE。
运行示例:
设置 GPU cuda 时钟为恢复默认0|RESTORE_DEFAULT运行示例:
nvidia-smi -cc 0
注意:由于本环境A100设备不支持设置Cuda时钟频率限制,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
设置 GPU cuda 时钟为覆盖模式 1|OVERRIDE 运行示例:
nvidia-smi -cc 1
注意:由于本环境A100设备不支持设置Cuda时钟频率限制,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
-am 启用或禁用记账模式
启用或禁用 GPU 记账模式。 使用 GPU 记账模式可以跟踪单个进程的整个生命周期内的资源使用情况。
注意:
需要管理员权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅可在 Kepler 系列受支持的设备上运行。
取值范围:0|DISABLED, 1|ENABLED
运行示例:
禁用 GPU 记账模式 运行示例:
nvidia-smi -am 0
启用 GPU 记账模式 运行示例:
nvidia-smi -am 1
-caa 清除缓冲区中所有已记账的进程pid信息
清除缓冲区中所有已记账的进程pid信息。
注意:
需要管理员权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅可在 Kepler 系列受支持的设备上运行。
运行示例:
清除缓冲区中所有已记账的进程pid信息 运行示例:
nvidia-smi -caa
-mig 启用或禁用多实例 GPU 模式
启用或禁用多实例 GPU 模式。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅可在基于 NVIDIA Ampere 架构支持的设备上运行。
取值范围:0|DISABLED, 1|ENABLED
运行示例:
禁用多实例 GPU 模式 运行示例:
nvidia-smi -mig 0
运行nvidia-smi可以查看MIG信息:
启用多实例 GPU 模式 运行示例:
nvidia-smi -mig 1
运行nvidia-smi可以查看MIG信息:
可以看到,启用 MIG 模式后,nvidia-smi 会输出 MiG 设备相关的列表信息。
-gtt 以摄氏度为单位设置 GPU 的 GPU 目标温度
以摄氏度为单位设置 GPU 的 GPU 目标温度
注意:
需要管理员权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
运行示例:
设置 GPU 目标温度限制 运行示例:
nvidia-smi -gtt 30
注意:由于本环境A100设备不支持设置 GPU 目标温度限制,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
auto boost相关设置
--auto-boost-default=模式
将默认自动提升策略设置为 0/DISABLED 或 1/ENABLED,仅在最后一个提升客户端退出后强制执行更改。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅适用于 Kepler+ 系列的某些 Tesla 设备和基于 Maxwell 的 GeForce 设备。
取值范围:0/DISABLED, 1/ENABLED
运行示例:
设置启动 auto boost default 模式 运行示例:
nvidia-smi --auto-boost-default=1
注意:由于本环境A100设备不支持设置 GPU auto boost default模式,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
设置禁用 auto boost default 模式 运行示例:
nvidia-smi --auto-boost-default=0
注意:由于本环境A100设备不支持设置 GPU auto boost default模式,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
--auto-boost-permission=模式
允许非管理员/root 对自动增强模式进行控制。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
仅适用于 Kepler+ 系列的某些 Tesla 设备和基于 Maxwell 的 GeForce 设备。
取值范围:0|UNRESTRICTED, 1|RESTRICTED
运行示例:
设置限制 auto boost permission 模式 运行示例:
nvidia-smi --auto-boost-permission=1
注意:由于本环境A100设备不支持设置 GPU auto boost permission 模式,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
设置不限制 auto boost permission 模式 运行示例:
nvidia-smi --auto-boost-permission=0
注意:由于本环境A100设备不支持设置 GPU auto boost permission模式,因此本命令并未执行成功,此处只是为了演示命令没有错误,在支持的设备上执行此命令将会返回执行成功结果。
附加选项
-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 之间共享。