Ошибка в Cmake "Идентификация компилятора CUDA неизвестна" при создании сборки докера
Я пытаюсь создать сборку докеров в Xavier. Когда я запускаю свой код без докера, он работает плавно, и я получил идентификацию компилятора 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.
моя версия mvcc - выпуск 10.0, V10.0.326. моя версия cmake - 3.10.2
Может кто-нибудь сказать мне, чего не хватает в Dockerfile?
1 ответ
Базовый образ l4t по умолчанию не загружает компоненты времени выполнения nvidia. У них есть только заглушки. Если вы хотите сделать это, вам нужно будет включить среду выполнения nvidia по умолчанию в файле /etc/docker/daemon.json. Это загрузит все компоненты среды выполнения, такие как nvcc.
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
}
Просто обратите внимание, что если вы сделаете это, размер вашего встроенного докера будет больше.