NVIDIA GPU常用命令及设置汇总

Tags:

👉 本文共约2831个字,系统预计阅读时间或需11分钟。

简介

大多数用户知道如何检查其CPU的状态,查看多少系统内存可用或找出多少磁盘空间可用。相反,从历史上看,保持GPU的运行状况和状态更加困难。如果您不知道在哪里看,甚至可能很难确定系统中GPU的类型和功能。值得庆幸的是,NVIDIA最新的硬件和软件工具在这方面取得了不错的改进。

该工具是NVIDIA的系统管理界面(nvidia-smi)。根据卡的生成方式,可以收集各种级别的信息。此外,可以启用和禁用GPU配置选项(例如ECC内存功能)。

顺便说一句,如果您发现在使NVIDIA GPU运行GPGPU代码方面遇到困难,这nvidia-smi会很方便。例如,在某些系统上/dev,启动时未创建正确的NVIDIA设备。nvidia-smi以root身份运行简单查询将初始化所有卡,并在中创建合适的设备/dev。在其他时候,确保所有GPU卡可见并正确通信非常有用。这是带有四个Tesla V100 GPU卡的最新版本的默认输出:

持续模式

在Linux上,您可以将GPU设置为持久模式,以使NVIDIA驱动程序加载,即使没有应用程序在访问这些卡也是如此。当您要运行一系列短期作业时,此功能特别有用。持久模式每个闲置的GPU使用更多的功率,但是可以防止每次启动GPU应用程序时出现相当长的延迟。如果您已为GPU分配了特定的时钟速度或功率限制,则也很有必要(因为在卸载NVIDIA驱动程序时这些更改会丢失)。通过运行以下命令在所有GPU上启用持久性模式:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

在Windows上,nvidia-smi无法设置持久性模式。相反,您需要将计算GPU设置为TCC模式。这应该通过NVIDIA的图形GPU设备管理面板来完成。

nvidia-smi支持的GPU

NVIDIA的SMI工具基本上支持自2011年以来发布的所有NVIDIA GPU。这些工具包括Fermi和更高架构家族(Kepler,Maxwell,Pascal,Volta等)的Tesla,Quadro和GeForce设备。

支持的产品包括:

Tesla:S1070,S2050,C1060,C2050 / 70,M2050 / 70/90,X2070 / 90,K10,K20,K20X,K40,K80,M40,P40,P100,V100

Quadro:4000、5000、6000、7000,M2070-Q,K系列,M系列,P系列,RTX系列

GeForce:支持级别不同,可用指标少于特斯拉和Quadro产品

查询GPU状态

我们为客户提供基准测试服务的Microway的GPU Test Drive集群包含一组NVIDIA最新的Tesla GPU。这些是NVIDIA的高性能计算GPU,可提供大量的运行状况和状态信息。以下示例摘自该内部群集。

要列出所有可用的NVIDIA设备,请运行:

要列出有关每个GPU的某些详细信息,请尝试:

要以1秒的更新间隔监视总体GPU使用情况:

nvidia-smi dmon

要以1秒的更新间隔监视每个进程的GPU使用情况:

监控和管理GPU Boost

NVIDIA在较新的GPU中包含的GPU Boost功能允许GPU时钟根据负载而变化(只要有可用的功率和散热空间,就可以实现最佳性能)。但是,可用空间的大小会因应用程序(甚至是输入文件!)而异,因此用户和管理员应密切注意GPU的状态。

可以显示每个GPU(在本例中为Tesla V100)的可用时钟速度列表:

如图所示,Tesla V100 GPU支持167种不同的时钟速度(从135 MHz到1380 MHz)。但是,仅支持一种内存时钟速度(877 MHz)。某些GPU支持两种不同的内存时钟速度(一种高速和一种省电速度)。通常,当内存处于省电速度(空闲GPU状态)时,此类GPU仅支持单个GPU时钟速度。在所有最新的Tesla和Quadro GPU上,GPU Boost会自动管理这些速度并尽可能快地运行时钟(在热量/功率限制以及管理员设置的任何限制范围内)。

要查看当前的GPU时钟速度,默认时钟速度和最大可能的时钟速度,请运行:

理想情况下,您希望所有时钟始终以最高速度运行。但是,这并非对所有应用程序都可行。要查看每个GPU的当前状态以及时钟变慢的任何原因,请使用PERFORMANCE标志:

如果任何GPU时钟运行速度较慢,则上述“时钟节流原因”中的一个或多个将被标记为活动。最令人担忧的情况是硬件减速是否处于活动状态,因为这很可能表明电源或散热问题。其余条件通常表明该卡处于空闲状态或已由系统管理员手动设置为较慢的模式。

使用nvidia-smi查看系统/ GPU拓扑和NVLink

为了正确利用更高级的NVIDIA GPU功能(例如GPU Direct),正确配置系统拓扑至关重要。拓扑结构是指各种系统设备(GPU,InfiniBand HCA,存储控制器等)如何相互连接以及如何与系统的CPU连接。某些拓扑类型将降低性能,甚至导致某些功能不可用。为了帮助解决此类问题,nvidia-smi支持系统拓扑和连接性查询:

复习本节将需要一些时间来适应,但可能非常有价值。上面的配置显示了两个Tesla K80 GPU和一个Mellanox FDR InfiniBand HCA(mlx4_0),它们都连接到服务器的第一个CPU。由于CPU是12核Xeon,因此拓扑工具建议将作业分配给前12个CPU核(尽管具体情况因应用程序而异)。

更高复杂性的系统在检查其配置和功能时需要格外小心。以下是NVIDIA DGX-1系统的nvidia-smi拓扑的输出,其中包括两个20核CPU,八个连接NVLink的GPU和四个Mellanox InfiniBand适配器:

还可以查询NVLink连接本身,以确保状态,功能和运行状况。鼓励读者查阅NVIDIA文档,以更好地了解细节。DGX-1上nvidia-smi的简短摘要如下所示。

打印所有GPU详细信息

要列出特定GPU上的所有可用数据,请使用-i指定卡的ID。这是旧版Tesla GPU卡的输出:

额外的nvidia-smi选项

当然,我们还没有介绍nvidia-smi工具的所有可能用途。要阅读选项的完整列表,请运行nvidia-smi -h(相当长)。一些子命令具有自己的帮助部分。如果您需要更改卡上的设置,则需要查看设备修改部分:

限制GPU显卡功率

使用命令:

未设置前:默认功率为最大功率,以2080Ti为例,功率为250W

NVIDIA GPU常用命令及设置汇总

设置后:最大功率限制在了100W

NVIDIA GPU常用命令及设置汇总

注意:如果系统重启后,限制设置就会失效,需要重新设置,或设置开机自动设置脚本

参考

https://mp.weixin.qq.com/s/y9AC1Egoos_dEgcOav2ixw

https://www.microway.com/hpc-tech-tips/nvidia-smi_control-your-gpus/
https://www.cnblogs.com/caishunzhe/p/12668363.html

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部