I need to run a cuda binary on kubernetes. I've set up the nodes to use the kubernetes nvidia device plugin with nvidia-docker2. Here is my Dockerfile:
FROM ubuntu:18.04
COPY addarrays /addarrays
ENTRYPOINT [ "/addarrays" ]
When I run the docker image through nvidia-docker2 or kubernetes it gives this error:
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
Cuda failure addarrays.cu:9: 'CUDA driver version is insufficient for CUDA runtime version'
addarrays: addarrays.cu:62: int main(): Assertion `hostArrayTmp[i] == hostArrayDest[i]' failed.
It looks like my docker image needs an nvidia driver. I've modified the Dockerfile like this:
FROM ubuntu:18.04
RUN apt install software-properties-common
RUN add-apt-repository ppa:graphics-drivers
RUN apt update
RUN apt install nvidia-driver-440
COPY addarrays /addarrays
ENTRYPOINT [ "/addarrays" ]
The software-properties-common is needed to install add-apt-repository, but it fails with this message:
E: Unable to locate package software-properties-common
What do I need to do to get an nvidia driver installed in my docker image?