amazon-web-services - AWS EC2 实例在重启后失去 GPU 支持

标签 amazon-web-services amazon-ec2 kernel gpu nvidia

在星期二重新启动一个实例时,我首先遇到了在具有 Ubuntu 深度学习 AMI 的 AWS p2.xlarge 机器上失去 GPU 支持的问题。

我现在两天测试了三遍,一位同事遇到了同样的问题,所以我猜是AWS的错误。虽然也许有人知道如何更好地调试它。

基本上,在关机和重启后,实例不再在内核中加载 nvidia 模块。此外,根据 dmesg,似乎加载了不同的内核。所有这一切都是在我没有主动造成的情况下发生的。

以下是使用新实例和 重现问题的步骤。没有自定义代码 .我在爱尔兰 (eu-west-1) 工作,该实例在可用区 eu-west-1a 中启动:

  • 启动了“深度学习 AMI (Ubuntu) 版本”的实例
    21.2 (ami-0e9085a8d461c2d01)
  • 实例类型:p2.xlarge,所有默认值
  • 登录实例,只运行了以下四个命令:
  • ubuntu@...:~$ lsmod | grep nvidia
    nvidia              16592896  0
    ipmi_msghandler        49152  1 nvidia
    
    dmesg | less
    ...
    [    0.000000] Linux version 4.4.0-1075-aws (buildd@lgw01-amd64-035) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #85-Ubuntu SMP Thu Jan 17 17:15:12 UTC 2019 (Ubuntu 4.4.0-1075.85-aws 4.4.167)
    [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-1075-aws root=UUID=96950bba-70e8-4a4b-9d78-d2bc1c767e04 ro console=tty1 console=ttyS0 nvme.io_timeout=4294967295
    ...
    
    ubuntu@...:~$ nvidia-smi
    Tue Mar 19 16:41:53 2019
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 410.79       Driver Version: 410.79       CUDA Version: 10.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla K80           On   | 00000000:00:1E.0 Off |                    0 |
    | N/A   42C    P8    32W / 149W |      0MiB / 11441MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    
    ubuntu@...:~$ sudo shutdown now
    
  • 该实例没有立即关闭,也许它正在运行更新,但我没有主动触发。
  • 状态显示“已停止”后,通过 AWS 管理控制台
  • 再次启动实例
  • 运行前三个命令:
  • ubuntu@...:~$ lsmod | grep nvidia
    (no output)
    
    dmesg | less
    ...
    [    0.000000] Linux version 4.4.0-1077-aws (buildd@lcy01-amd64-021) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #87-Ubuntu SMP Wed Mar 6 00:03:05 UTC 2019 (Ubuntu 4.4.0-1077.87-aws 4.4.170)
    [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-1077-aws root=UUID=96950bba-70e8-4a4b-9d78-d2bc1c767e04 ro console=tty1 console=ttyS0 nvme.io_timeout=4294967295
    ...
    
    ubuntu@...:~$ 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.
    

    如何强制使用内核 4.4.0-1075-aws 启动?由于是 hvm 虚拟化,我无法直接在对话框中选择内核。

    最佳答案

    在 4.4.0-107x-aws 内核上构建较旧的 NVIDIA 驱动程序似乎存在问题。您可以安装较新的 NVIDIA 驱动程序,该驱动程序应该适用于当前内核:

    wget http://us.download.nvidia.com/tesla/410.104/NVIDIA-Linux-x86_64-410.104.run
    sudo sh ./NVIDIA-Linux-x86_64-410.104.run --no-drm --disable-nouveau --dkms --silent --install-libglvnd 
    

    据 AWS 代表称,驱动程序已于 2019 年 3 月 21 日在深度学习 AMI 中更新 [AWS forums ]。

    关于amazon-web-services - AWS EC2 实例在重启后失去 GPU 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55261273/

    相关文章:

    hadoop - 如何在 Amazon EC2 上停止启动 Juju 实例

    php - 解决Magento速度超过20,000种产品的最佳方法是什么

    尝试用 Knife 创建 EC2 服务器时出现 SSLError

    c - 为什么 C 中的 ((type*)0)->member 中的这个 0 ?

    amazon-web-services - AWS 云信息 : Variable not interpolated in cfn-init command

    amazon-web-services - 如何获取 Databricks DBFS 路径的 S3 位置

    java - 无法通过 SSL 使用 Amazon S3 API?

    amazon-web-services - 如何将 godaddy 域与在 aws 上运行的应用程序链接起来

    linux - 是什么 。 (点)和 +(加号)在内核崩溃(任务挂起)中的锁名称之后?

    android - 使用 AOSP 更改 dts 后如何在没有 make clean 的情况下构建?