cudaErrorInsufficientDriver:CUDA驱动程序版本不足于CUDA运行时版本

问题描述

部署所有组件后,我正在GKE上运行GPU实例我向服务发出请求发生上述错误 我遵循了https://cloud.google.com/kubernetes-engine/docs/how-to/gpus#ubuntu中提到的所有步骤 这是我的DockerFile

FROM nvidia/cuda:10.2-cudnn7-devel

# install Nginx
# RUN apt-get update && apt-get install Nginx vim -y --no-install-recommends
# RUN ln -sf /dev/stdout /var/log/Nginx/access.log \
#     && ln -sf /dev/stderr /var/log/Nginx/error.log

## Setup 

RUN mkdir -p /opt/app

RUN apt-get update -y && \
    apt-get install -y --no-install-recommends \
    python3-dev \
    python3-pip \
    python3-wheel \
    python3-setuptools && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

RUN pip3 install --no-cache-dir -U install setuptools pip
RUN pip3 install --no-cache-dir cupy_cuda102==8.0.0rc1 scipy optuna

copY requirements.txt start.sh run.py uwsgi.ini utils.py /opt/app/
copY shading_characteristics /opt/app/shading_characteristics

workdir /opt/app
RUN pip install -r requirements.txt
RUN pip install --upgrade 'sentry-sdk[flask]'
RUN pip install uwsgi -I --no-cache-dir

EXPOSE 5000

## Start the server,giving permissions for script
# copY Nginx.conf /etc/Nginx
RUN chmod +x ./start.sh 
RUN chmod -R 777 /root
CMD ["./start.sh"] 

解决方法

您可以在Nvidia的website中看到,CUDA 10.2需要Nvidia驱动程序版本> = 440.33。

由于官方in GKE官方提供的最新Nvidia驱动程序是418.74,因此当前可以使用的最新CUDA版本是10.1

如果您的应用程序或其他依赖项(例如PyTorch)可以在CUDA 10.1下正常运行,则最快的解决方案是使用CUDA 10.1降级基础Docker映像。

unofficial种方法可以在运行COS的GKE节点上安装更新的Nvidia驱动程序版本,但是如果您不是必须的,我会坚持使用官方支持的GKE方法并使用10.1。