AWS EC2:NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。确保已安装并运行最新的 NVIDIA 驱动程序

问题描述 投票:0回答:1

因此,我正在 AWS ec2 实例上部署一个 OCR 模型,特别是 detectorron2。但是 detector2 开始给出 GPU 错误。因此,当我在 ec2 终端中运行命令 nvidia-smi 时,它会显示标题中的错误。

注意:我选择了已启用 CUDA 的 Deep Learning PyTorch AMI。

我需要 GPU 来运行我的模型,但由于它没有检测到它失败了。我在一个月前尝试过同样的事情来检查它是否运行并且工作完美,但现在突然所有带有 CUDA 的 AMI 都开始出现此错误。

amazon-web-services amazon-ec2 deep-learning deployment object-detection
1个回答
0
投票

您正在使用具有非 GPU 实例的 DLAMI。由于 t2.large 没有 nvidia GPU。您最好的选择是使用 G4dn.xlarge 或 G4g.xlarge。

但我建议您不要在市场上可用的 AMI 上浪费精力,而是使用基本 Linux 映像并仅在其上安装必要的驱动程序。我写了一篇关于如何创建自定义深度学习 AMI 的指南,但如果您只需要驱动程序,您可以跳过该指南或按照此处提到的 GPU 驱动安装过程进行操作。

具体来说这部分

if [ "$(uname -m)" = "aarch64" ]; then
    echo "System is running on ARM / AArch64"
    DRIVE_URL="https://us.download.nvidia.com/tesla/535.104.05/NVIDIA-Linux-aarch64-535.104.05.run"
    CUDA_SDK_URL="https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux_sbsa.run"
    CUDNN_ARCHIVE_URL="https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.5.29_cuda12-archive.tar.xz"
else
    DRIVE_URL="https://us.download.nvidia.com/tesla/535.104.05/NVIDIA-Linux-x86_64-535.104.05.run"
    CUDA_SDK_URL="https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run"
    CUDNN_ARCHIVE_URL="https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.5.29_cuda12-archive.tar.xz"
fi
echo "Setting up GPU..."
DRIVER_NAME="NVIDIA-Linux-driver.run"
wget -O "$DRIVER_NAME" "$DRIVE_URL"
TMPDIR=$LOCAL_TMP sh "$DRIVER_NAME" --disable-nouveau --silent

CUDA_SDK="cuda-linux.run"
wget -O "$CUDA_SDK" "$CUDA_SDK_URL"
TMPDIR=$LOCAL_TMP sh "$CUDA_SDK" --silent --override --toolkit --samples --toolkitpath=$USR_LOCAL_PREFIX/cuda-12.2 --samplespath=$CUDA_HOME --no-opengl-libs

CUDNN_ARCHIVE="cudnn-linux.tar.xz"
EXTRACT_PATH="$SRC_DIR/cudnn-extracted"
mkdir -p "$EXTRACT_PATH"

wget -O "$CUDNN_ARCHIVE" "$CUDNN_ARCHIVE_URL"
tar -xJf "$CUDNN_ARCHIVE" -C "$EXTRACT_PATH"
CUDNN_INCLUDE=$(find "$EXTRACT_PATH" -type d -name "include" -print -quit)
CUDNN_LIB=$(find "$EXTRACT_PATH" -type d -name "lib" -print -quit)
cp -P "$CUDNN_INCLUDE"/* $CUDA_HOME/include/
cp -P "$CUDNN_LIB"/* $CUDA_HOME/lib64/
chmod a+r $CUDA_HOME/lib64/*
ldconfig

免责声明:我是这些文章的作者,我在其中详细提到了如何在云中设置 GPU。

© www.soinside.com 2019 - 2024. All rights reserved.