在 Ubuntu 虚拟机 (VM) 上安装和配置 NVIDIA 图形处理单元 (GPU) 可能有点挑战,尤其是对于那些不熟悉此过程的人。但是,只要有一点耐心并采取正确的步骤,您就可以立即启动并运行 NVIDIA GPU。在本文中,我们将介绍在 Ubuntu 机器上为深度学习模型安装和配置 NVIDIA GPU 的过程,涵盖从下载必要的驱动程序到设置 GPU 以供使用的所有内容。
为了安装和配置VM环境以检测您的GPU并使GPU与CUDA工具包一起工作,可以按照以下步骤操作:
第 1 步:检查并卸载现有驱动程序
在为您的 NVIDIA GPU 安装新驱动程序之前,请务必检查您的 Ubuntu 计算机上是否已有现有驱动程序。打开终端窗口并键入以下命令:lspci | grep -i nvidia
此命令将查明 VM 上是否存在任何 NVIDIA 图形设备。如果有任何列出的,请使用以下命令卸载驱动程序和 CUDA:
sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*"
sudo apt-get --purge remove "*nvidia*"
如果您通过源文件安装了 CUDA,请查找它的安装位置(例如 /usr/local)并使用以下命令将其删除:
sudo rm -rf /usr/local/cuda*
然后转到包含对 NVIDIA 存储库的引用的行
sudo vim /etc/apt/sources.list
并将其注释掉
# deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/
最后,运行:
sudo apt update
第二步:开始安装
由于我们已成功删除 VM 上现有 NVIDIA 和 CUDA 的所有痕迹,让我们继续开始全新安装。要执行的第一个操作是添加个人包存档 (PPA),它允许我们创建自己的存储库来分发软件。因此,我们运行:
sudo add-apt-repository ppa:graphics-drivers/ppa --yes
sudo apt update
然后可以使用以下方式安装 NVIDIA 驱动程序:
sudo apt install nvidia-driver-450-server
此时,重要的是要通过检查此兼容性矩阵来了解要安装的正确驱动程序:https://docs.nvidia.com/deploy/cuda-compatibility/index.html
sudo apt install nvidia-cuda-toolkit
但是,因为我们对特定版本(11.3)感兴趣,所以有必要去NVIDIA 开发者页面下载正确的 CUDA 版本。
在该页面上,可以注意到只需单击提供的按钮即可引导您找到正确的OS Architecture、Distribution、Version,更重要的是您感兴趣的 CUDA安装程序类型。可以选择任何安装程序类型,但是,我们将只选择runfile(本地) 文件以使安装更容易。
因此,对于此设置,我们使用此链接,它将为 Ubuntu 20.04 机器找到 CUDA 版本 11.3:
image.png对于我们的任务,我们选择它是nvidia-driver-450
因为它是兼容的。接下来,我们将安装 CUDA,这通常可以使用以下方法完成:
我们需要按照安装说明进行一些修改,即运行:
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run --toolkit --silent --override
这些标志--toolkit --silent --override将确保只安装属于 CUDA 而不是 NVIDIA 的包。没有标志,您可能会收到此错误:
image.png现在安装已完成,可以重新启动服务器sudo reboot以正确设置所有配置。
为了确认这一点,可以运行这两个命令nvidia-smi分别nvcc --version验证 GPU 驱动程序和 CUDA 版本。
如果不重新启动计算机,您可能会收到以下错误nvidia-smi:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
此外,incasenvcc --version不断抛出错误,您可能需要将 CUDA 路径添加到bashrc
首先,打开bashrc
sudo nano /home/ $USER /.bashrc
在里面添加以下内容:
export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"
最后,运行source .bashrc并打开一个新终端再次测试nvcc --version。
我们返回了以下信息:
image.png第 3 步:为 DNN 安装 Torch 驱动程序
Torch 是用于构建深度神经网络的主要库之一,关于如何使用它有多种资源。
需要执行的最后一组配置是安装torch torchvision和torchaudio(如果需要)。
这可以通过简单地运行来执行:
pip3 install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra
-index-url https://download.pytorch.org/whl/cu113
这将安装使用 CUDA 构建的torch版本和具有类似 CUDA 版本的版本和1.11.011.3torchvision0.12torchaudio
假设需要不同的版本,您可以在此处torch检查 CUDA 和 Torch 兼容性并选择合适的版本。
最后我们来做个测试看看我们的安装是否成功。我们将尝试下面的代码:
import torch
from torch import nn
class BuildSimpleNet(nn.Module):
def __init__(self):
super().__init__()
self.l1 = nn.Linear(1,2)
def forward(self, x):
x = self.l1(x)
return x
if __name__ == "__main__":
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.current_device())
print(torch.cuda.get_device_name(0))
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
model = BuildSimpleNet()
model.to(device)
print(next(model.parameters()).is_cuda)
以下是输出:
True
1
0
Tesla V100-SXM2-16GB
True
总结
总之,本文展示了有关如何安装 NVIDIA GPU 驱动程序、CUDA 和 Torch 以训练深度学习模型的分步指南。此外,还执行了一个简单的测试,以确保整个安装已成功执行。在后续文章中,我们将展示如何设置 NVIDIA GPU 以与主要用于推理的 Docker 顺畅协作。
网友评论