我正在使用 AWS 实例,但 Nvidia CUDA 驱动程序未安装在那里。我需要帮助在 ec2 安装上安装 Nvidia CUDA 驱动程序。
Ubuntu 版本是 18.04,实例是基于 GPU 的。显卡是 nvidia t4。我用的是 g46nxlarge 实例。
答案1
EC2实例g4dn.xlarge
不是典型的虚拟机,因为它具有一些独特的功能,使机器能够直接与专用显卡交互。因此,有专门的 AMI 用于深度学习,虚拟工作站, 和赌博。但是,如果你坚持从头开始,亚马逊有提供了一步一步向您展示如何在实例上安装 CUDA 驱动程序。
要点如下:
- 访问NVIDIA 驱动程序搜索页面搜索适合您的安装的驱动程序包:
- 使用以下步骤安装驱动程序NVIDIA 数据中心文档,不要忘记无数安装后步骤
考虑到手动安装的步骤和可能出错的方式,您可能希望首先从预构建的 AMI 开始,然后再使用自定义安装(如果需要)进行重建。
答案2
选项 1)预安装的驱动程序,例如“AWS Deep Learning Base GPU AMI(Ubuntu 20.04)”
此 AMI 记录于:https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-20-04/可以在 AWS EC2 Web UI 启动实例上找到它,方法是在“Quickstart AMI”部分下搜索“gpu”(顺便说一句,他们的搜索很糟糕)。我相信它是由亚马逊维护的。
我已经在上进行了测试g5.xlarge
,记录如下:https://aws.amazon.com/ec2/instance-types/g5/我相信,截至 2023 年 12 月,这是目前最强大的单个 Nvidia GPU 机器(Nvidia A10G)。请确保使用美国地区,因为那里的价格更便宜,us-east-1
(北弗吉尼亚)是我检查时最便宜的地区之一,每小时 1.006 美元,因此对于发达国家的大多数人来说,这是微不足道的成本。只需确保每次关闭虚拟机即可避免继续付费!!!
另一个可行的替代方案是g4dn.xlarge
,它是最便宜的 GPU 机器,每小时 0.526 美元us-east-1
,运行 Nvidia T4,但我认为它没有多大意义,因为它的价格只是最强大的 GPU 选择的一半,所以为什么不选择最强大的 GPU 呢?它可能会通过更快地进行此类交互式实验来节省您宝贵的时间?这应该只在优化部署成本时考虑。
此外,要访问g5.xlarge
,首先您必须请求将 vCPU 限制增加到 4,如下所示:https://stackoverflow.com/questions/68347900/you-have-requested-more-vcpu-capacity-than-your-current-vcpu-limit-of-0由于 GPU 机器似乎都需要至少 4 个 vCPU,因此这非常烦人。
一旦您最终获得实例和图像,运行:
nvidia-smi
正常运行并返回:
Tue Dec 19 18:43:59 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.12 Driver Version: 535.104.12 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA A10G On | 00000000:00:1E.0 Off | 0 |
| 0% 18C P8 9W / 300W | 4MiB / 23028MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
这意味着驱动程序正在运行,从那时起,我设法运行了几个使用 GPU 的软件,并观察nvidia-smi
GPU 使用率上升的情况。
文档页面还链接到:https://docs.aws.amazon.com/dlami/latest/devguide/gs.html这是关于所谓“AWS 深度学习 AMI”(DLAMI)的指南,它似乎是 AWS 精选的深度学习 AMI 变体,但不幸的是,其中记录的许多变体使用的是 Amazon Linux(基于 RPM)而不是 Ubuntu。
启动它的示例 AWS CLI 是:
aws ec2 run-instances --image-id ami-095ff65813edaa529 --count 1 --instance-type g5.xlarge \
--key-name <yourkey> --security-group-ids sg-<yourgroup>
选项 2)在基础 Ubuntu 映像“Ubuntu Server 22.04 LTS (HVM)”上自行安装驱动程序
此选项会增加安装时间,但其优点是可以为您提供较新的 Ubuntu 并更好地了解映像中包含的内容。在 Ubuntu 22.04 上安装驱动程序非常简单,因此这绝对是一个可行的选择。
只需选择启动实例时 Amazon 建议的第一个 Ubuntu AMI 并运行:
sudo apt update
sudo apt install nvidia-driver-510 nvidia-utils-510
sudo reboot
从那时起nvidia-smi
,其他一切都正常进行g5.xlarge
。
相关问题:https://stackoverflow.com/questions/63689325/how-to-activate-the-use-of-a-gpu-on-aws-ec2-instance
答案3
不确定这是否适用于 Ubuntu 18.04,但我在 Ubuntu 22.04 上测试了这种方法。不过,我还是发布了这个答案,以防其他使用 22.04 的人想做同样的事情。
我尝试了互联网上的几个博客,最后我按照这个博客成功安装了 nvidia 驱动程序:https://www.linuxcapable.com/install-nvidia-drivers-on-ubuntu-linux/(我遵循了第 1、2 和 3 部分)
在此过程中,我清除了所有现有的 nvidia 东西,然后使用
sudo ubuntu-drivers autoinstall
。然后nvidia-smi
为我工作。
我在 EC2 类型 p2.xlarge(使用 Tesla K80)和 p3.2xlarge(使用 Tesla V100)上测试了这种方法,两种方法都有效。
操作系统:Ubuntu 22.04(x86_64)
答案4
如果其他读者有同样的问题,可以参阅官方文档,了解如何在基于 GPU 的实例上安装 GPU 和 CUDA这里