Ошибка в Cmake «Идентификация компилятора CUDA неизвестна» при создании сборки docker - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать сборку docker в Xavier. Когда я запускаю свой код без docker, он работает плавно, и я получил идентификацию компилятора CUDA. Но когда я пытаюсь создать сборку с dockerfile, это дало мне ошибку: идентификация компилятора CUDA неизвестна.

Ниже приведены шаги моего файла dockerfile:

FROM nvcr.io/nvidia/l4t-base:r32.3.1
RUN apt-get update && apt-get install -y --no-install-recommends make g++ && apt-get install -y cmake gcc libopenblas-dev build-essential
WORKDIR /home/username/docker_fc/tensorrt_l2norm_helper
CMD ["python3", "./step01_pb_to_uff.py"]
COPY . /home/username/docker_fc/
RUN cmake --version
RUN nvcc --version
RUN mkdir build && cd build && pwd && cmake .. && make

Я получил ошибку в последнем шаг с помощью cmake.

моя версия mv cc - это выпуск 10.0, V10.0.326. моя версия cmake - 3.10.2

Кто-нибудь может сказать мне, чего не хватает в Dockerfile?

1 Ответ

1 голос
/ 18 мая 2020

Базовый образ l4t по умолчанию не загружает компоненты времени выполнения nvidia. У них есть только заглушки. Если вы хотите сделать это, вам нужно будет включить среду выполнения nvidia по умолчанию в файле /etc/docker/daemon.json. Это загрузит все компоненты среды выполнения, такие как nv cc.


{
 "default-runtime": "nvidia",
  "runtimes": {
     "nvidia": {
         "path": "/usr/bin/nvidia-container-runtime",
         "runtimeArgs": []
     }
 },

}

Просто обратите внимание, что если вы сделаете это, размер вашего встроенного docker будет больше

...