如何在 Amazon EC2 G5g 实例上获取 PyTorch 2.0 来检测 CUDA

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

我一直在尝试将 G5g EC2 实例与 PyTorch 2.0 一起使用,但我一直在努力让它工作。我想要这个特定的实例,因为 ARM 处理器使其便宜得多,而且这是唯一带有 GPU 的 ARM 实例。 Amazon 一直在吹嘘 Graviton 上的 PyTorch 2.0 优化(请参阅此处),因此我认为完成所有这些操作后会预装一个 AMI,但在与 AWS 支持人员交谈后,情况并非如此。

我尝试使用 CUDA 11.4 和 PyTorch 1.1 附带的 AMI,然后升级它们,但是无论我做什么,PyTorch 都不会安装为 CUDA 版本。我已按照 PyTorch 网站上的命令安装该特定版本,在安装 CUDA 11.8 后指向 CUDA 11.8 轮:

pip3 install torch --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118

但 PyTorch 仍然作为 CPU 版本安装。当我跑步时我可以确认这一点

>>import torch
>>torch.cuda.is_available()
False

我通过运行

nvidia-smi
验证了CUDA版本为11.8。 我还尝试从空白 AMI 开始并安装 CUDA,然后安装 PyTorch,但这导致了相同的结果。我唯一能够取得的成功是在 x86 架构的实例上,但这对我来说还不够。

amazon-ec2 pytorch gpu aws-graviton
2个回答
3
投票

如果您正在尝试针对 AWS Graviton2(特别是 G5g 系列)预构建的深度学习 AMI 之一,它们将无济于事。相信我,我自己也经历过这种情况,就像你一样,我也坚持要让它与 Graviton2 一起工作,对我来说这是额外的成本,而且它们在现货市场上的可用性,你也一定有你的理由。

如果您知道什么是有效的,那么自己设置一个并不是一项艰巨的任务,我已经通过艰苦的方式找到了它,并就完全相同的问题编写了一份详细的指南,我们正在生产中运行它。 我安装了最新的 Nvidia 驱动程序、Cuda 12.2 和 CUDNN 以及 Pytorch 2。以下是安装 GPU 驱动程序和工具包的脚本片段

setup_gpu() {
    echo "Setting up GPU..."
    wget https://us.download.nvidia.com/tesla/535.104.05/NVIDIA-Linux-aarch64-535.104.05.run
    sh NVIDIA-Linux-aarch64-535.104.05.run --disable-nouveau --silent
    wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux_sbsa.run
    sh cuda_12.2.2_535.104.05_linux_sbsa.run --silent --override --toolkit --samples --toolkitpath=/usr/local/cuda-12.2 --samplespath=$CUDA_HOME --no-opengl-libs
    wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.4.25_cuda12-archive.tar.xz
    tar -xf cudnn-linux-sbsa-8.9.4.25_cuda12-archive.tar.xz
    cp -P cudnn-linux-sbsa-8.9.4.25_cuda12-archive/include/* $CUDA_HOME/include/
    cp -P cudnn-linux-sbsa-8.9.4.25_cuda12-archive/lib/* $CUDA_HOME/lib64/
    chmod a+r $CUDA_HOME/lib64/*
    ldconfig
    rm -fr cu* NVIDIA*
}

对于 PyTorch,您可以使用以下内容

# Install PyTorch from source
install_pytorch() {
    echo "Installing PyTorch..."
    wget https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz
    tar -xf ccache-4.8.3.tar.xz
    pushd ccache-4.8.3
    cmake .
    make -j $CPUS
    popd
    dnf install -y numpy
    $USER_EXEC pip3 install typing-extensions
    git clone --recursive https://github.com/pytorch/pytorch.git
    pushd pytorch
    python3 setup.py install
    popd
    ldconfig
    $USER_EXEC pip3 install sympy filelock fsspec networkx
}

这些代码片段需要一些先决条件才能安装,以及一些自定义环境变量,因此您应该遵循有关如何创建自定义深度学习 AMI 的完整指南。

该指南不仅详细解释了每个步骤,而且我还创建了一个综合脚本来为您完成所有脏工作。

自己设置一个而不是从市场购买 DLAMI 将节省您的时间、实例/块存储,从而减少设置(生成)时间。最重要的是,它可以让您控制环境所需的内容,我已在为什么您的深度学习 AMI 阻碍您 详细讨论了这些问题。请检查一下,因为我确信您在使用 DLAMI 时一定遇到过一些问题(如果不是全部的话)。

免责声明:我是这两篇文章的作者,我写它们是为了分享我的经验并帮助其他人避免我必须经历的麻烦。


0
投票

AWS 发布了用于 g5g 实例的 PyTorch DLAMI。请检查一下。 对于 us-west2 区域,imageId=ami-0cca98c05886fe62e

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