多GPU系统中的CUDA设备不可用问题

我们在使用多GPU系统时遇到了CUDA设备不可用的问题,详细情况如下:

问题描述: 我们在一台配备有8块NVIDIA GeForce RTX 3090显卡的服务器上运行CUDA程序时,遇到了如下错误:

cudaErrorDevicesUnavailable: CUDA-capable device(s) is/are busy or unavailable


使用 nvidia-smi 命令检查时,发现所有GPU的利用率为0。

系统配置:

操作系统:Windows 11

GPU型号:NVIDIA GeForce RTX 3090 x 8

驱动程序版本:556.12

CUDA工具包版本:12.5

我已尝试的解决方案:

检查GPU状态: 使用 nvidia-smi 查看当前GPU的使用情况,所有GPU的利用率为0。

重启系统: 多次重启服务器,但问题依旧存在。

确认管理员权限: 以管理员身份运行命令提示符和相关程序。

检查并更新驱动程序: 确保安装了最新的NVIDIA驱动程序,并重新安装了CUDA工具包,版本匹配且为最新。

限制使用特定GPU: 修改环境变量 CUDA_VISIBLE_DEVICES 限制CUDA程序只使用特定的GPU进行测试,问题依旧。

终止不必要的进程: 使用 nvidia-smi 查看并终止了所有可能占用GPU资源的进程,仍未解决问题。

检查和调整BIOS设置(没有尝试,但是在CUDA版本修改之前就是禁用集成显卡的,任然出现该问题): 进入BIOS/UEFI,确保所有PCIe插槽设置为“Auto”或“Gen3”,并禁用了所有不必要的集成显卡。

测试其他CUDA示例程序: 使用CuPy和PyTorch编写并运行其他简单的CUDA程序,均出现相同错误。

以下是我们使用的测试代码和错误信息:

import os

import cupy as cp

os.environ['CUDA_VISIBLE_DEVICES'] = '0'  # 只使用第一个GPU

try:

    start = cp.cuda.Event()

    end = cp.cuda.Event()

    print("CUDA event created successfully.")

    del start

    del end

    print("CUDA event destroyed successfully.")

except cp.cuda.runtime.CUDARuntimeError as e:

    print(f"CUDA error: {e}")

device = cp.cuda.Device(0)  # 使用第一个GPU

try:

    free_memory, total_memory = device.mem_info

    print(f"Device 0: Free Memory: {free_memory / (1024 ** 2):.2f} MB")

    print(f"Device 0: Total Memory: {total_memory / (1024 ** 2):.2f} MB")

except cp.cuda.runtime.CUDARuntimeError as e:

    print(f"CUDA error: {e}")

错误信息:

cudaErrorDevicesUnavailable: CUDA-capable device(s) is/are busy or unavailable

我们已尝试了多种解决方法,但问题仍未解决。

相关推荐

  1. PyTorch常用工具(5)使用GPU加速:CUDA

    2024-07-10 23:52:03       44 阅读
  2. linuxCUDA、torch和驱动GPU驱动对应问题

    2024-07-10 23:52:03       8 阅读
  3. 删除Windows系统隐藏设备

    2024-07-10 23:52:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 23:52:03       6 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 23:52:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 23:52:03       4 阅读
  4. Python语言-面向对象

    2024-07-10 23:52:03       8 阅读

热门阅读

  1. yolov5中训练长条型目标召回率低问题

    2024-07-10 23:52:03       11 阅读
  2. openssl error:0A000126:SSL routines:ssl3_read_n:unexpected eof

    2024-07-10 23:52:03       12 阅读
  3. 各种软件启动方式

    2024-07-10 23:52:03       10 阅读
  4. 【创作纪念日】我的三周年创作纪念日

    2024-07-10 23:52:03       12 阅读
  5. Github 2024-07-07 开源项目日报 Top10

    2024-07-10 23:52:03       12 阅读
  6. 部署LVS-DR群集

    2024-07-10 23:52:03       9 阅读
  7. python的列表推导式

    2024-07-10 23:52:03       12 阅读
  8. pip常用命令详解

    2024-07-10 23:52:03       8 阅读