GPU使用情况查看-显卡-nvidia-命令集锦-pytorch使用gpu

refer:
here
here2

在这里插入图片描述

实操

C:\Users\***>nvidia-smi
Tue Oct 25 16:25:08 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 511.65       Driver Version: 511.65       CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100-PCIE...  TCC  | 00000000:25:00.0 Off |                    0 |
| N/A   42C    P0    48W / 250W |   4369MiB / 32768MiB |     99%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     33596      C   ...\pytorch_cu113\python.exe     1501MiB |
|    0   N/A  N/A     37652      C   ...\pytorch_cu113\python.exe     1433MiB |
|    0   N/A  N/A     74620      C   ...\pytorch_cu113\python.exe     1433MiB |
+-----------------------------------------------------------------------------+
C:\Users\***>nvidia-smi -L
GPU 0: Tesla V100-PCIE-32GB (UUID: GPU-8cc29e84-119e-c7c5-178c-bb9639c50241)

CMD查看gpu使用情况命令

如果 PyTorch 的变量和模型都已经被移动到 GPU 上,并且 PyTorch 的计算任务也在 GPU 上运行,但是使用 nvidia-smi 命令查看 GPU 进程时没有显示相关进程,可能是以下几个原因:

PyTorch 只在需要时才会申请 GPU 资源进行计算,计算完成后就会释放 GPU 资源。如果在 nvidia-smi 命令执行期间没有进行任何计算任务,就可能无法在进程列表中看到 PyTorch 的进程。可以尝试在计算任务执行期间运行 nvidia-smi 命令,以便及时查看 GPU 占用情况。

PyTorch 的计算任务可能比较短暂或者轻量级,导致在 nvidia-smi 命令执行期间已经执行完毕并释放了 GPU 资源,因此无法在进程列表中看到 PyTorch 的进程。可以尝试使用更大的数据集或者更复杂的计算任务,以便占用更多的 GPU 资源,从而更容易在 nvidia-smi 命令中看到 PyTorch 的进程。

可能是 GPU 进程被隐藏了。有些 GPU 驱动程序会隐藏某些进程,例如 NVIDIA 驱动程序会隐藏 Windows 系统进程和某些用户进程,以防止这些进程被意外中断或终止。如果是这种情况,可以尝试使用 nvidia-smi -L 命令查看可用的 GPU 设备列表,
比如

>nvidia-smi -L
GPU 0: Tesla V100-PCIE-32GB (UUID: GPU-8cc29e84-119e-c7c5-178c-bb9639c50241)

并使用 nvidia-smi -i <device_id> 命令查看指定设备的进程列表,以便查看是否有 PyTorch 的进程被隐藏了。
比如 nvidia-smi -i 0

pytorch 内部查看gpu

在使用 PyTorch 进行 GPU 加速的时候,我们需要先检查是否有可用的 GPU 设备。PyTorch 提供了 torch.cuda 模块,可以方便地查看和控制 GPU 设备的状态。

以下是一个查看可用 GPU 设备的示例代码:

import torch

# 检查是否有可用的 GPU 设备
if torch.cuda.is_available():
    # 获取可用的 GPU 设备数量
    device_count = torch.cuda.device_count()
    print(f"{device_count} GPU(s) are available:")

    # 遍历所有可用的 GPU 设备并打印其名称和类型
    for i in range(device_count):
        device_name = torch.cuda.get_device_name(i)
        device_type = torch.cuda.get_device_capability(i)
        print(f"  {i}: {device_name} (type: {device_type})")
else:
    print("No GPU available.")

在这个示例中,我们首先使用 torch.cuda.is_available() 方法检查是否有可用的 GPU 设备。如果有,我们使用 torch.cuda.device_count() 方法获取可用的 GPU 设备数量,并遍历所有可用的 GPU 设备,并打印其名称和类型。

布置模型和变量到gpu上面

PyTorch 可以很方便地使用 GPU 进行计算加速,需要做的只是将数据和模型移动到 GPU 上。具体来说,需要使用 to() 方法将 PyTorch 中的 Tensor 和模型移动到 GPU 上。

以下是一个使用 GPU 进行 PyTorch 计算的示例代码:

import torch

# 创建一个 PyTorch Tensor
x = torch.randn(3, 3)

# 创建一个 PyTorch 模型
model = torch.nn.Linear(3, 1)

# 将 Tensor 和模型移动到 GPU 上
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
x = x.to(device)
model = model.to(device)

# 在 GPU 上进行计算
y = model(x)

# 将结果移回 CPU 并打印
y = y.to('cpu')
print(y)

在这个示例中,我们首先使用 torch.cuda.is_available() 方法检查是否有可用的 GPU 设备。如果有,我们创建一个 PyTorch Tensor 和一个 PyTorch 模型,并将它们移动到 GPU 上。最后,我们使用模型进行计算,并将结果移回 CPU 上打印。

需要注意的是,如果计算量较大,使用 GPU 可以显著提高计算速度。但是,如果计算量较小,则将数据和模型移动到 GPU 上的时间可能会占用计算的大部分时间,反而会降低计算效率。因此,在使用 GPU 进行计算时,需要根据实际情况进行选择。

检查变量和模型是否在GPU上面

可以使用 x.is_cuda model.is_cuda 方法检查 Tensor 和模型是否已经移动到 GPU 上。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

balabalahoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值