创建 docker 构建时 Cmake "The CUDA compiler identification is unknown" 出错
Error in Cmake "The CUDA compiler identification is unknown" while creating the docker build
我正在尝试在 Xavier 中创建 docker 构建。当我 运行 我的一段代码没有 docker 它工作顺利,我得到了 CUDA 编译器标识。但是当我尝试使用 dockerfile 进行构建时,它给了我一个 CUDA compiler identification is unknown.
错误
下面是我的docker文件步骤:
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版本是release 10.0, V10.0.326。
我的 cmake 版本是 3.10.2
谁能告诉我 Dockerfile 中缺少什么?
l4t的基础镜像默认不加载nvidia的runtime组件。他们只有存根。如果要执行此操作,则需要在 /etc/docker/daemon.json 文件中启用默认运行时 nvidia。这将加载所有运行时组件,例如 nvcc。
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
}
请注意,如果您这样做,您构建的 docker 的大小会更大
我正在尝试在 Xavier 中创建 docker 构建。当我 运行 我的一段代码没有 docker 它工作顺利,我得到了 CUDA 编译器标识。但是当我尝试使用 dockerfile 进行构建时,它给了我一个 CUDA compiler identification is unknown.
错误下面是我的docker文件步骤:
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版本是release 10.0, V10.0.326。 我的 cmake 版本是 3.10.2
谁能告诉我 Dockerfile 中缺少什么?
l4t的基础镜像默认不加载nvidia的runtime组件。他们只有存根。如果要执行此操作,则需要在 /etc/docker/daemon.json 文件中启用默认运行时 nvidia。这将加载所有运行时组件,例如 nvcc。
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
}
请注意,如果您这样做,您构建的 docker 的大小会更大