RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
问题:
当我 运行 以下命令时
python -c "import tensorflow as tf; tf.test.is_gpu_available(); print('version :' + tf.__version__)"
错误:
RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
详情:
警告:tensorflow:From :1:is_gpu_available(来自 tensorflow.python.framework.test_util)已弃用,将在未来版本中删除。
更新说明:
请改用 tf.config.list_physical_devices('GPU')
。
2021-04-18 21:02:51.839069: I tensorflow/core/platform/cpu_feature_guard.cc:143] 你的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX2 AVX512F FMA
2021-04-18 21:02:51.846775: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU 频率:2500000000 赫兹
2021-04-18 21:02:51.847076: I tensorflow/compiler/xla/service/service.cc:168] XLA 服务 0x7fc3bc000b20 已为平台主机初始化(这不保证会使用 XLA)。设备:
2021-04-18 21:02:51.847104: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor 设备(0):主机,默认版本
2021-04-18 21:02:51.849876: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcuda.so.1
2021-04-18 21:02:51.911161:W tensorflow/compiler/xla/service/platform_util.cc:210] 无法为 CUDA:0 创建 StreamExecutor:为 CUDA 设备序号 0 初始化 StreamExecutor 失败:内部:对 cuDevicePrimaryCtxRetain 的调用失败: CUDA_ERROR_UNKNOWN: 未知错误
2021-04-18 21:02:51.911285:我 tensorflow/compiler/jit/xla_gpu_device.cc:161] 忽略可见 XLA_GPU_JIT 设备。设备编号为 0,原因:内部:未找到平台 CUDA 支持的设备
2021-04-18 21:02:51.911546: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.912210:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] 找到具有属性的设备 0:
pciBusID:0000:00:07.0 名称:GRID T4-4Q 计算能力:7.5
coreClock:1.59GHz coreCount:40 deviceMemorySize:3.97GiB deviceMemoryBandwidth:298.08GiB/s
2021-04-18 21:02:51.912446: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.1
2021-04-18 21:02:51.914362: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcublas.so.10
2021-04-18 21:02:51.916358: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcufft.so.10
2021-04-18 21:02:51.916679: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcurand.so.10
2021-04-18 21:02:51.918787: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusolver.so.10
2021-04-18 21:02:51.919993: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusparse.so.10
2021-04-18 21:02:51.924652: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudnn.so.7
2021-04-18 21:02:51.924792: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.925488: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.926100: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] 添加可见的 gpu 设备:0
2021-04-18 21:02:51.926146: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.1
追溯(最近一次通话):
文件“”,第 1 行,位于
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”,第 324 行,在 new_func 中
return func(*args, **kwargs)
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/framework/test_util.py”,第 1496 行,在 is_gpu_available 中
对于 local_device 在 device_lib.list_local_devices() 中:
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/client/device_lib.py”,第 43 行,在 list_local_devices 中
_convert(s) for s in _pywrap_device_lib.list_devices(serialized_config)
RuntimeError:GPU:0 上的 CUDA 运行time 隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用
系统信息:
OS 平台和分发(例如,Linux Ubuntu 16.04):ubuntu 18.04
移动设备(例如 iPhone 8、Pixel 2、Samsung Galaxy)如果问题发生在移动设备上:云服务器
TensorFlow 安装自(源代码或二进制文件):source
张量流版本:2.2.0。
Python版本:3.7.7
使用 virtualenv 安装?点子? conda?: pip & conda.
Bazel 版本(如果从源代码编译):2..0.0
GCC/Compiler 版本(如果从源代码编译):7.5
CUDA/cuDNN 版本:CUDA 10.1 & cuDNN 7.6.5
GPU型号和内存:
00:07.0 VGA 兼容控制器:
NVIDIA 公司设备 1eb8 (rev a1) (prog-if 00 [VGA controller]).
子系统:NVIDIA Corporation Device 130e.
物理插槽:7
标志:总线主控、快速 devsel
、延迟 0、IRQ 37
fc000000 处的内存(32 位,non-prefetchable
)[大小=16M]
e0000000 处的内存(64 位,prefetchable
)[大小=256M]
内存在 fa000000(64 位,non-prefetchable
)[size=32M]
I/O c500 端口 [size=128]
能力:[68] MSI:Enable+ Count=1/1 Maskable- 64bit+
使用的内核驱动:nvidia
内核模块:nvidiafb
、nouveau、nvidia_drm
、nvidia
我尝试寻找解决此问题的方法,但 none 个解决了它:
https://github.com/tensorflow/tensorflow/issues/41990
Tensorflow-GPU Error: "RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable"
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#recommended-post
我可以确认评论中提到的案例。
我在使用 Ubuntu VM 时遇到问题,在 VMware ESXi 主机上执行,并为 v100 Nvidia GPU 使用 vGPU 分区。
我遇到了同样的错误,我已经尝试更改 cuda 版本并下载(pip)为特定 CUDA 版本编译的软件,这并没有解决问题,错误:
tensorflow.python.framework.errors_impl.InternalError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
在我的例子中,我忘记了在 /etc/nvidia/grid.conf
中设置许可证服务器,我得到了完全相同的错误,所以在我的例子中,这是一个 GRID 许可证问题...修复网格配置文件并重新启动解决了问题。
问题: 当我 运行 以下命令时
python -c "import tensorflow as tf; tf.test.is_gpu_available(); print('version :' + tf.__version__)"
错误:
RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
详情:
警告:tensorflow:From :1:is_gpu_available(来自 tensorflow.python.framework.test_util)已弃用,将在未来版本中删除。
更新说明:
请改用 tf.config.list_physical_devices('GPU')
。
2021-04-18 21:02:51.839069: I tensorflow/core/platform/cpu_feature_guard.cc:143] 你的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX2 AVX512F FMA
2021-04-18 21:02:51.846775: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU 频率:2500000000 赫兹
2021-04-18 21:02:51.847076: I tensorflow/compiler/xla/service/service.cc:168] XLA 服务 0x7fc3bc000b20 已为平台主机初始化(这不保证会使用 XLA)。设备:
2021-04-18 21:02:51.847104: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor 设备(0):主机,默认版本
2021-04-18 21:02:51.849876: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcuda.so.1
2021-04-18 21:02:51.911161:W tensorflow/compiler/xla/service/platform_util.cc:210] 无法为 CUDA:0 创建 StreamExecutor:为 CUDA 设备序号 0 初始化 StreamExecutor 失败:内部:对 cuDevicePrimaryCtxRetain 的调用失败: CUDA_ERROR_UNKNOWN: 未知错误
2021-04-18 21:02:51.911285:我 tensorflow/compiler/jit/xla_gpu_device.cc:161] 忽略可见 XLA_GPU_JIT 设备。设备编号为 0,原因:内部:未找到平台 CUDA 支持的设备
2021-04-18 21:02:51.911546: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.912210:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] 找到具有属性的设备 0:
pciBusID:0000:00:07.0 名称:GRID T4-4Q 计算能力:7.5
coreClock:1.59GHz coreCount:40 deviceMemorySize:3.97GiB deviceMemoryBandwidth:298.08GiB/s
2021-04-18 21:02:51.912446: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.1
2021-04-18 21:02:51.914362: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcublas.so.10
2021-04-18 21:02:51.916358: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcufft.so.10
2021-04-18 21:02:51.916679: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcurand.so.10
2021-04-18 21:02:51.918787: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusolver.so.10
2021-04-18 21:02:51.919993: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusparse.so.10
2021-04-18 21:02:51.924652: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudnn.so.7
2021-04-18 21:02:51.924792: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.925488: 我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取成功的 NUMA 节点有负值 (-1),但必须至少有一个 NUMA 节点,所以 returning NUMA 节点零
2021-04-18 21:02:51.926100: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] 添加可见的 gpu 设备:0
2021-04-18 21:02:51.926146: 我tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.1
追溯(最近一次通话):
文件“”,第 1 行,位于
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”,第 324 行,在 new_func 中
return func(*args, **kwargs)
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/framework/test_util.py”,第 1496 行,在 is_gpu_available 中
对于 local_device 在 device_lib.list_local_devices() 中:
文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/client/device_lib.py”,第 43 行,在 list_local_devices 中
_convert(s) for s in _pywrap_device_lib.list_devices(serialized_config)
RuntimeError:GPU:0 上的 CUDA 运行time 隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用
系统信息:
OS 平台和分发(例如,Linux Ubuntu 16.04):ubuntu 18.04
移动设备(例如 iPhone 8、Pixel 2、Samsung Galaxy)如果问题发生在移动设备上:云服务器
TensorFlow 安装自(源代码或二进制文件):source
张量流版本:2.2.0。
Python版本:3.7.7
使用 virtualenv 安装?点子? conda?: pip & conda.
Bazel 版本(如果从源代码编译):2..0.0
GCC/Compiler 版本(如果从源代码编译):7.5
CUDA/cuDNN 版本:CUDA 10.1 & cuDNN 7.6.5
GPU型号和内存:
00:07.0 VGA 兼容控制器:
NVIDIA 公司设备 1eb8 (rev a1) (prog-if 00 [VGA controller]).
子系统:NVIDIA Corporation Device 130e.
物理插槽:7
标志:总线主控、快速 devsel
、延迟 0、IRQ 37
fc000000 处的内存(32 位,non-prefetchable
)[大小=16M]
e0000000 处的内存(64 位,prefetchable
)[大小=256M]
内存在 fa000000(64 位,non-prefetchable
)[size=32M]
I/O c500 端口 [size=128]
能力:[68] MSI:Enable+ Count=1/1 Maskable- 64bit+
使用的内核驱动:nvidia
内核模块:nvidiafb
、nouveau、nvidia_drm
、nvidia
我尝试寻找解决此问题的方法,但 none 个解决了它:
https://github.com/tensorflow/tensorflow/issues/41990
Tensorflow-GPU Error: "RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable"
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#recommended-post
我可以确认评论中提到的案例。
我在使用 Ubuntu VM 时遇到问题,在 VMware ESXi 主机上执行,并为 v100 Nvidia GPU 使用 vGPU 分区。
我遇到了同样的错误,我已经尝试更改 cuda 版本并下载(pip)为特定 CUDA 版本编译的软件,这并没有解决问题,错误:
tensorflow.python.framework.errors_impl.InternalError: CUDA runtime implicit initialization on GPU:0 failed. Status: all CUDA-capable devices are busy or unavailable
在我的例子中,我忘记了在 /etc/nvidia/grid.conf
中设置许可证服务器,我得到了完全相同的错误,所以在我的例子中,这是一个 GRID 许可证问题...修复网格配置文件并重新启动解决了问题。