nvidia-smi

1、说明

nvidia-smiNVIDIA System Management Interface 的缩写,是 NVIDIA 提供的一个命令行工具,用于查看和管理 NVIDIA GPU 设备的信息。执行这个命令通常可以获取关于系统上安装的 NVIDIA GPU 的实时状态和性能信息

一般来说,nvidia-smi 提供了以下信息:

  1. GPU 列表: 显示系统上所有的 NVIDIA GPU 设备的列表,包括它们的索引、名称、UUID 等。
  2. 实时状态: 显示 GPU 的实时使用情况,包括 GPU 的利用率、显存使用情况、温度等。
  3. 进程信息: 显示当前正在使用 GPU 的进程信息,包括进程 ID、显存占用等。

这对于监控 GPU 的使用情况、调试 GPU 程序或确保 GPU 驱动程序正常安装非常有用。

2、举例

这是 nvidia-smi 命令的输出结果,其中包含了关于两块 NVIDIA GPU 设备的详细信息:

  1. 设备列表:

    • GPU 0: NVIDIA GeForce ...(具体型号已被截断)
    • GPU 1: NVIDIA GeForce ...(具体型号已被截断)
  2. 实时状态:

    • GPU 0 的状态:
      • Fan: 风扇速度,30%
      • Temp: 温度,25摄氏度
      • Perf: 性能状态,P8
      • Pwr:Usage/Cap: 电源使用情况,13W / 350W
      • Memory-Usage: 显存使用情况,16016MiB / 24576MiB
      • GPU-Util: GPU 利用率,0%
      • Compute M.: 计算模式,Default
    • GPU 1 的状态:
      • Fan: 风扇速度,61%
      • Temp: 温度,63摄氏度
      • Perf: 性能状态,P2
      • Pwr:Usage/Cap: 电源使用情况,296W / 350W
      • Memory-Usage: 显存使用情况,7894MiB / 24576MiB
      • GPU-Util: GPU 利用率,98%
      • Compute M.: 计算模式,Default
  3. 进程信息:

    • GPU 0 上的进程:
      • 进程 ID(PID)为 3712792
      • 类型为 C(Compute)
      • 进程名为 ...s/labelsystem/bin/python3
      • 使用了 16014MiB 的 GPU 内存
    • GPU 1 上的进程:
      • 进程 ID(PID)为 2811288
      • 类型为 C(Compute)
      • 进程名为 ...vs/torchspeech/bin/python
      • 使用了 7892MiB 的 GPU 内存

这个输出告诉了关于两块 GPU 设备的各种信息,包括它们的使用情况、温度、电源使用等。


3、总结

  1. Driver Version(驱动程序版本): NVIDIA 显卡的驱动程序版本。

  2. CUDA Version(CUDA 版本): 计算统一设备架构(CUDA)的版本。

  3. GPU Name(GPU 名称): 显示在系统中的 GPU 设备的名称。

  4. Persistence-M(持久性模式): 显示 GPU 是否处于持久性模式。在这里,"Off" 表示不在持久性模式。

  5. Bus-Id(总线 ID): 显卡的总线 ID,可以用于唯一标识系统中的每个 GPU。

  6. Disp.A(显示适配器): 显示适配器信息,包括显卡是否处于激活状态(On)或关闭状态(Off)。

  7. Volatile Uncorr. ECC(不稳定的 ECC 错误): 显存的错误纠正码(ECC)状态。

  8. Fan(风扇): 显卡风扇的当前运行情况,包括百分比和温度。

  9. Temp(温度): 显卡的当前温度。

  10. Perf(性能): 显卡的性能状态。

  11. Pwr:Usage/Cap(功耗): 显卡的功耗使用情况,包括当前功耗和最大功耗。

  12. Memory-Usage(显存使用情况): 显卡当前正在使用的显存量。

  13. GPU-Util(GPU 利用率): 显卡的利用率,表示 GPU 目前的工作负载。

  14. Compute M.(计算模式): 显卡当前的计算模式。

  15. Memory-Total(显存总量): 显卡的总显存容量。

  16. Processes(进程): 显示当前正在使用显存的进程,包括进程的 ID、类型和显存使用情况。


在 NVIDIA 的 nvidia-smi 工具中,Type 列显示了 GPU 上运行的进程的类型。以下是常见的几种类型:

  1. C: Compute:表示这是一个计算进程,通常指的是使用 GPU 进行计算任务的进程,比如深度学习训练、推理等。

  2. G: Graphics:表示这是一个图形渲染进程,通常指的是使用 GPU 进行图形渲染的应用程序,比如游戏、图形编辑软件等。

  3. CI: Compute Instance:表示这是一个计算实例,通常出现在使用了 NVIDIA 的多实例 GPU (MIG) 功能的情况下。MIG 允许将单个 GPU 分割成多个独立的计算实例,每个实例都可以独立运行计算任务。

  4. GI: Graphics Instance:类似于 CI,表示这是一个图形实例,通常出现在使用 MIG 功能的情况下,用于图形渲染任务。

  5. X: Unknown:如果 Type 列显示为未知或未识别的类型,这可能表示进程类型无法识别或工具无法正确解析进程类型。


 查看具体的进程

ps -ef | grep <PID>

使用指定的GPU 

device_map = {"": 1}  # 指定使用 GPU 1
model = AutoModelForCausalLM.from_pretrained(
    model_name, 
    trust_remote_code=True, 
    device_map=device_map, 
    torch_dtype=torch.float16)


import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

# 指定使用的设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

# 加载模型和 tokenizer
model = AutoModelForCausalLM.from_pretrained("your-model-name").to(device)
tokenizer = AutoTokenizer.from_pretrained("your-tokenizer-name")

# 输入文本
input_text = "Your input text here."

# 编码输入文本
inputs = tokenizer(input_text, return_tensors="pt").to(device)

# 进行预测
with torch.no_grad():
    outputs = model(**inputs)

# 输出结果
print(outputs)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值