【问题标题】:CUDA cudaErrorInsufficientDriver error when running an CuFFT in docker在 docker 中运行 CuFFT 时出现 CUDA cudaErrorInsufficientDriver 错误
【发布时间】:2020-02-17 16:33:42
【问题描述】:

我在 docker 中做一些 CUFFT 例程并遇到了一些问题。我使用以下 Dockerfile。

FROM nvidia/cuda:9.1-runtime-ubuntu16.04
ENV NVIDIA_VISIBLE_DEVICES all
ENV LD_LIBRARY_PATH /usr/local/cuda-9.1/lib64/

FROM python:3.7
COPY --from=0 /usr/local/cuda-9.1 /usr/local/cuda-9.1
ENV VIRTUAL_ENV=/opt/venv
ENV PATH="/opt/venv:$PATH"
RUN pip install numpy
RUN apt update && \
    apt-get -y install gcc && \
    apt-get -y install apt-utils && \
    apt-get -y install g++ && \
    apt-get -y install pciutils && \
    apt-get -y install libc6

ADD helmsolver /helmsolver
CMD ls /usr && ls /usr/local
CMD dpkg -l | grep -i cuda
CMD cd helmsolver && bash tests.sh

要构建和运行 docker,我使用这样的命令。

docker build -t helm .
docker run --gpus all helm

我可以在主机上运行我的代码,但是在 docker 中运行后,错误 35 (cudaErrorInsufficientDriver) 出现在这种类型的代码 cudaMalloc((void**)&d_array, memsize) 中。我的代码有什么问题,还是只是缺少一些 .so 文件? 这是我的 CUDA、docker、nvidia-smi 版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
Docker version 19.03.4
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: N/A      |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GT 640      On   | 00000000:01:00.0 N/A |                  N/A |
| 40%   36C    P8    N/A /  N/A |     48MiB /  4035MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 760     On   | 00000000:02:00.0 N/A |                  N/A |
| 17%   36C    P8    N/A /  N/A |      1MiB /  4037MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

【问题讨论】:

  • "CUDA Version: N/A" 是问题的根源。您需要修复主机驱动安装
  • @talonmies 有没有办法在docker中正确地做到这一点?我应该关注这个guide吗?
  • @talonmies 添加NVIDIA_DRIVER_CAPABILITIES compute, utility 解决了我的问题!
  • 请添加您的解决方案作为答案

标签: python linux docker cuda nvidia-docker


【解决方案1】:

添加NVIDIA_DRIVER_CAPABILITIES compute, utility 作为 ENV 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 2020-02-13
    • 2019-12-04
    • 2021-10-08
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 2021-12-04
    • 2018-02-02
    相关资源
    最近更新 更多