GPU A系列裸金属服务器使用PyTorch无法获取显卡问题解决方法
1. 问题现象
在Ant1裸金属服务器上使用pytorch一段时间,出现获取显卡失败的现象,报错如下:
> torch.cuda.is_available()
/usr/local/lib/python3.8/dist-packages/torch/cuda/__init__.py:107: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 802: system not yet initialized (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0
False
2. 问题定位
(1) pytorch版本和cuda版本的依赖关系,当前torch2.0支持cuda 11.7和11.8; 排查版本匹配没问题;
(2) 检索Error802, 查到nvidia帖子 https://forums.developer.nvidia.com/t/error-802-system-not-yet-initialized-cuda-11-3/234955
核心内容是由于缺少nvidia-fabricmanager, 但是本机已安装,查询后发现nvidia-fabricmanager.servcie已经挂掉.
为什么nvidia-fabricmanager会挂掉? (1) 可能系统资源不足、如内存不足、内存泄露; (2) 硬件故障、如IB网络或者GPU互联设备故障等;
当然,也有可能笔者服务器上没安装nvidia-fabricmanager组件或被误卸载.
3. 解决方案
场景一: 已安装nvidia-fabricmanager, 重启nvidia-fabricmanager.service
systemctl restart nvidia-fabricmanager.service
核心该服务挂掉的原因需要持续关注定位,避免再次发生。
场景一: 未安装nvidia-fabricmanager, 则需安装改组件
安装指南请参考-https://bbs.huaweicloud.com/blogs/398211
- 点赞
- 收藏
- 关注作者
评论(0)