nvidia-docker容器中nvidia-smi中CUDA Version显示N/A

nvidia-docker2版本以上增加在启动容器的时候加上

 -e NVIDIA_VISIBLE_DEVICES=all

在容器中使用nvidia-smi可以显示出GPU信息

                                                                        图源:来自网络

 但是发现CUDA Version的版本为N/A,使用torch.cuda.is_available()会出现报错

UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:100.)
  return torch._C._cuda_getDeviceCount() > 0

造成这样的主要原因是因为环境变量的配置

需要在启动容器时候加上

-e NVIDIA_DRIVER_CAPABILITIES=compute,utility

如果你不改这个环境变量,宿主机的nvidia driver在容器内是仅作为utility存在的,也就是个花瓶。如果加上compute,宿主机的英伟达driver将对容器提供计算支持(所谓的计算支持也就是cuda支持)。

这样大概率问题就解决了

当然更推荐是将docker版本升级19以后,就不用使用nvidia-docker操作,在docker起容器的时候直接加上

-e gpus=all

就可以使用宿主机的GPU了,更为方便。

参考:

Found no NVIDIA driver on your system · Issue #533 · NVIDIA/nvidia-docker · GitHub

### 回答1: 1. 首先,需要安装NVIDIA驱动程序。可以通过以下命令安装: sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-384 2. 安装Docker。可以通过以下命令安装: sudo apt-get install docker.io 3. 安装nvidia-docker。可以通过以下命令安装: curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install nvidia-docker2 sudo pkill -SIGHUP dockerd 4. 验证nvidia-docker是否安装成功。可以通过以下命令验证: sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi 如果nvidia-smi显示GPU信息,则说明nvidia-docker已经成功安装。 ### 回答2: 安装nvidia-docker是为了在Ubuntu 16.04上使用NVIDIA GPU进行深度学习和机器学习等任务。以下是在Ubuntu 16.04上安装nvidia-docker的步骤: 1. 在终端,使用以下命令添加NVIDIA Docker软件包的存储库: ``` $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list $ sudo apt-get update ``` 2. 安装nvidia-docker软件包: ``` $ sudo apt-get install -y nvidia-docker2 $ sudo pkill -SIGHUP dockerd ``` 3. 使用以下命令验证安装是否成功: ``` $ docker run --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果成功安装并配置正确,将显示GPU的信息。 通过以上步骤,你可以在Ubuntu 16.04上成功安装nvidia-docker,并使用NVIDIA GPU进行深度学习和机器学习等任务。请注意,确保你的系统安装了合适的NVIDIA GPU驱动程序,并且能够与nvidia-docker兼容。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值