✍14 pynvml模块的使用(GPU)


查看GPU信息

nvidia-smi

简单使用

# 导入模块
import  pynvml

# 每MB包含的字节数(用于后面单位换算)
NUM_EXPAND = 1024 * 1024

# 初始化
pynvml.nvmlInit()
'''
pynvml.nvml.NVMLError_LibraryNotFound: NVML Shared Library Not Found
1.出现这个问题可能是你的电脑没有显卡, pynvml源码里面会去寻找电脑显卡驱动安装目录, 没找到就报错
2.目录错误--> 解决方法--->
https://www.zywvvd.com/2020/11/06/deep_learning/pynvml_model_not_found/pynvml_model_not_found/
https://www.cnblogs.com/ShineLeBlog/p/11219781.html
'''

# 获取GPU驱动版本信息
version = pynvml.nvmlSystemGetDriverVersion()
print(version)

#获取Nvidia GPU个数
count = pynvml.nvmlDeviceGetCount()
print(count)

#获取第 0 个 GPU 的 handle
handle = pynvml.nvmlDeviceGetHandleByIndex(0)

# 通过 handle 设备名称
dev_name = pynvml.nvmlDeviceGetName(handle)
print(dev_name)

# 通过 handle 获取uuid
uuid = pynvml.nvmlDeviceGetUUID(handle)
print(uuid)

#通过 handle 获取GPU 0 的信息
info = pynvml.nvmlDeviceGetMemoryInfo(handle)

# 获取GPU 0 的总显存
print(info.total)
print(f"{info.total/NUM_EXPAND}MB")

# 获取GPU 0 已经使用的显存
print(info.used)
print(f"{info.used/NUM_EXPAND}MB")

#关闭 pynvml
pynvml.nvmlShutdown()

测试

  • 155的服务器上有显卡, 使用155的机器做测试

更多方法

请参考 : NVIDIA官方GPU管理和部署文档