NVIDIA-Linux-x86_64-470.63.01-grid.run 部署到 Cloud Run 的问题

Posted

技术标签:

【中文标题】NVIDIA-Linux-x86_64-470.63.01-grid.run 部署到 Cloud Run 的问题【英文标题】:Problems with NVIDIA-Linux-x86_64-470.63.01-grid.run to Deploy to Cloud Run 【发布时间】:2022-01-17 09:22:01 【问题描述】:

我正在尝试在谷歌云上进行部署。所以,我的Dockerfile

FROM ubuntu:20.04
RUN apt update 
RUN apt -y install sudo
RUN apt -y install curl
RUN sudo apt install -y build-essential 
RUN curl -O https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID13.0/NVIDIA-Linux-x86_64-470.63.01-grid.run
RUN chmod +x NVIDIA-Linux-x86_64-470.63.01-grid.run
RUN sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run

FROM python:3.8

RUN adduser meat
RUN passwd -d meat
USER meat
WORKDIR /home/meat
RUN python3 -m venv meat-env
RUN /bin/bash -c "source meat-env/bin/activate"
RUN /usr/local/bin/python -m pip install --upgrade pip
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY . .
CMD ["python", "main.py"]

我得到了这个错误:

Step 8/20 : RUN sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run
---> Running in 811998f9cea8
Verifying archive integrity...
OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 470.63.01

...............

后面还有几个点(.)

[91mError opening terminal: unknown.
[0m
unable to stream build output: The command '/bin/sh -c sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run' returned a non-zero code: 1
Failed to build the app. Error: unable to stream build output: The command '/bin/sh -c sudo /bin/bash NVIDIA-Linux-x86_64-470.63.01-grid.run' returned a non-zero code: 1

我的 Dockerfile 出了什么问题?还是有不同的方法来执行命令?

【问题讨论】:

IIUC 您正在尝试运行 GPU 虚拟化解决方案,请停止不公开 GPU 的运行时。所以,这很可能是您的问题的根源。 我的服务器上有一个 GPU。我在那里测试了我的代码并工作了。包括那个。但是我在部署时遇到了问题。或者你的观点是其他的? 我不知道,也没有尝试过,但是您将无法在 Cloud Run 上运行依赖于 GPU(库)的容器映像,因为 Cloud Run 实例不支持公开一个 GPU 如果其他更熟悉 NVIDIA GRID 的人参与进来,但我认为您无法在 Cloud Run 上运行此映像,这将很有用。如果我的理解是正确的,您将需要考虑在具有 NVIDIA GPU 的 VM 上运行它 @GregRov 你如何部署你的应用程序?您是在Cloud Run Fully Managed 还是Cloud Run Anthos(GKE) 中部署它? 【参考方案1】:

@DazWilkin 的评论是正确的:

无法将图形驱动程序安装到完全托管的 Cloud Run,因为它不公开任何 GPU。

您应该将其部署在 Cloud Run Anthos(GKE) 中。但是您需要配置您的 GKE 集群来安装您的 GPU,根据documentation,您应该按照以下步骤操作:

    Add a GPU-enabled node pool to your GKE cluster.

在此步骤中,您可以启用启用虚拟工作站 (NVIDIA GRID)。请选择 NVIDIA Tesla T4、P4 或 P100 等 GPU 来启用 NVIDIA GRID。

    Install NVIDIA's device drivers to the nodes。

您现在可以创建一个使用 GPU 的服务并将映像部署到 Cloud Run for Anthos:

    Setting up your service to consume GPUs

【讨论】:

以上是关于NVIDIA-Linux-x86_64-470.63.01-grid.run 部署到 Cloud Run 的问题的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu12.10下面安装了NVIDIA-Linux-x86-310.19.run显卡驱动后,启动电脑默认进入TTY1字符界面!

不支持编解码器 h264_cuvid

Unable to build the NVIDIA kernel module.ubuntu13.10安装Nvidia显卡驱动报错,求助

centos7 Nvidia显卡驱动安装

ubuntu-14.04安装最新tensorflow记录

CentOS 7.4 Nvidia GeForce RTX 2080 Ti 显卡驱动安装