python - RuntimeError: GPU:0 上的 CUDA 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用
问题描述
问题:当我运行以下命令时
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:来自: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 Hz 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:I 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 创建 StreamExecutor:0:为 CUDA 设备序号 0 初始化 StreamExecutor 失败:内部:调用 cuDevicePrimaryCtxRetain 失败:CUDA_ERROR_UNKNOWN:未知错误 2021-04-18 21:02:51.911285:I tensorflow/compiler/jit/xla_gpu_device .cc:161] 忽略可见的 XLA_GPU_JIT 设备。设备号为 0,原因:内部:未找到平台 CUDA 2021-04-18 21:02:51.911546 支持的设备:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] 从 SysFS 读取的成功 NUMA 节点具有负值( -1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-04-18 21:02:51.912210: I 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。44]成功打开动态库libcudart.so.10.1 Traceback(最近一次调用最后):文件“”,第1行,在文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/ python/util/deprecation.py”,第 324 行,在 new_func 返回 func(*args, **kwargs) 文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/framework /test_util.py”,第 1496 行,在 is_gpu_available 中用于 device_lib.list_local_devices() 中的 local_device:文件“/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 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用 10.1 Traceback(最近一次调用最后):文件“”,第 1 行,在文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”,行324,在 new_func 返回 func(*args, **kwargs) 文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/framework/test_util.py”,第 1496 行,在is_gpu_available for local_device in 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 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用 10.1 Traceback(最近一次调用最后):文件“”,第 1 行,在文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”,行324,在 new_func 返回 func(*args, **kwargs) 文件“/home/miniconda3/envs/py37/lib/python3.7/site-packages/tensorflow/python/framework/test_util.py”,第 1496 行,在is_gpu_available for local_device in 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 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用 在 list_local_devices 中的 _convert(s) for _pywrap_device_lib.list_devices(serialized_config) RuntimeError: GPU:0 上的 CUDA 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用 在 list_local_devices 中的 _convert(s) for _pywrap_device_lib.list_devices(serialized_config) RuntimeError: GPU:0 上的 CUDA 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用
系统信息:
操作系统平台和分发(例如,Linux Ubuntu 16.04):ubuntu 18.04 移动设备(例如 iPhone 8、Pixel 2、Samsung Galaxy)如果问题发生在移动设备上:云服务器 TensorFlow 安装自(源或二进制):源
TensorFlow 版本: 2.2.0。Python 版本:3.7.7
使用 virtualenv 安装?点子?康达?:点子和康达。
Bazel 版本(如果从源代码编译):2..0.0
GCC/编译器版本(如果从源代码编译):7.5
CUDA/cuDNN 版本:CUDA 10.1 & cuDNN 7.6.5
GPU 型号和内存:
00:07.0 VGA 兼容控制器:NVIDIA公司设备 1eb8 (rev a1) (prog-if 00 [VGA 控制器])。
子系统:NVIDIA Corporation Device 130e。
物理插槽:7 个标志:总线主控,快速devsel
, 延迟 0, IRQ 37 内存在 fc000000 (32-bit, non-prefetchable
) [size=16M] 内存在 e0000000 (64-bit, prefetchable
) [size=256M] 内存在 fa000000 (64-bit, non-prefetchable
) [size=32M] I/ c500 [size=128] 的 O 端口功能:[68] MSI:Enable+ Count=1/1 Maskable- 64bit+ 正在使用的内核驱动程序:nvidia 内核模块:nvidiafb
,nouveau nvidia_drm
,,nvidia
我试图寻找解决这个问题的方法,但没有一个能解决:
https://github.com/tensorflow/tensorflow/issues/41990
Tensorflow-GPU 错误:“RuntimeError:GPU:0 上的 CUDA 运行时隐式初始化失败。状态:所有支持 CUDA 的设备都忙或不可用”
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#recommended-post
解决方案
我可以确认评论中提到的案例。
我在使用 Ubuntu VM、在 VMware ESXi 主机上执行并为 v100 Nvidia GPU 使用 vGPU 分区时遇到了问题。
我遇到了同样的错误,我已经尝试更改 cuda 版本并下载为特定 CUDA 版本编译的(pip)软件,这并没有解决问题,错误:
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 许可证问题......修复网格配置文件并重新启动解决了这个问题。
推荐阅读
- r - Trouble in changing thickness of line segments in base plot
- azure-cosmosdb - 如何更改 cosmosDB 中的 API?
- codeigniter - 无法使用 twilio 自动发送短信
- c++ - 在 Qt5 中使用 QMediaPlayer 播放流时使用代理?
- r - xtable中的双行
- sql - 需要从行更改为列
- python - 试图了解我用 manim 得到的菜单来自哪里
- reactjs - React 组件的不需要的 prop 是否应该在 defaultProps 内
- html - 如何将文本左右放置在图像中的页脚中
- python - Dataframe 使用方括号设置值,不遵循 Dataframe 传递的顺序