大师。
在ppc64le上构建CUDA v8.0的nvidia-docker时遇到以下错误。
root@minsky:/data/nvidia-docker# make cuda OS=ubuntu-16.04
make -C /data/nvidia-docker/ubuntu-16.04/cuda
make[1]: Entering directory '/data/nvidia-docker/ubuntu-16.04/cuda'
docker build -f /data/nvidia-docker/ubuntu-16.04/cuda/8.0/runtime/Dockerfile.ppc64le -t cuda:8.0-runtime /data//nvidia-docker/ubuntu-16.04/cuda/8.0/runtime
Sending build context to Docker daemon 10.24 kB
...
Step 6 : RUN CUDNN_DOWNLOAD_SUM=51f698d468401cef2e3e2ef9bb557bd57cbeb4dca895d1d1ae8a751d090bbe39 && curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-ppc64le-v5.1.tgz -O && echo "$CUDNN_DOWNLOAD_SUM cudnn-8.0-linux-ppc64le-v5.1.tgz" | sha256sum -c --strict - && tar -xzf cudnn-8.0-linux-ppc64le-v5.1.tgz -C /usr/local --wildcards 'cuda/targets/ppc64le-linux/lib/libcudnn.so.*' && ln -s cuda/targets/ppc64le-linux/lib /usr/local/cuda/lib64 && rm cudnn-8.0-linux-ppc64le-v5.1.tgz && ldconfig
---> Running in 19a5bb5c9c19
cudnn-8.0-linux-ppc64le-v5.1.tgz: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
The command '/bin/sh -c CUDNN_DOWNLOAD_SUM=51f698d468401cef2e3e2ef9bb557bd57cbeb4dca895d1d1ae8a751d090bbe39 && curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-ppc64le-v5.1.tgz -O && echo "$CUDNN_DOWNLOAD_SUM cudnn-8.0-linux-ppc64le-v5.1.tgz" | sha256sum -c --strict - && tar -xzf cudnn-8.0-linux-ppc64le-v5.1.tgz -C /usr/local --wildcards 'cuda/targets/ppc64le-linux/lib/libcudnn.so.*' && ln -s cuda/targets/ppc64le-linux/lib /usr/local/cuda/lib64 && rm cudnn-8.0-linux-ppc64le-v5.1.tgz && ldconfig' returned a non-zero code: 1
../../mk/cuda.mk:87: recipe for target '8.0-cudnn5-runtime' failed
make[1]: *** [8.0-cudnn5-runtime] Error 1
make[1]: Leaving directory '/data/fuzhiwen/nvidia-docker/ubuntu-16.04/cuda'
Makefile:37: recipe for target 'cuda' failed
make: *** [cuda] Error 2
有关如何优雅地解决这个问题的想法吗?
答案 0 :(得分:0)
我通过编辑Dockerfile.ppc64le文件解决了这种情况,如下所示。
root@minsky:/data/nvidia-docker# vi ./ubuntu-16.04/cuda/8.0/runtime/cudnn5/Dockerfile.ppc64le
...
RUN CUDNN_DOWNLOAD_SUM=663aac0328f821d90ae9c74ee43e90751706546c2ce769ea9c96f92864300af6 && \
#RUN CUDNN_DOWNLOAD_SUM=51f698d468401cef2e3e2ef9bb557bd57cbeb4dca895d1d1ae8a751d090bbe39 && \
root@minsky:/data/nvidia-docker# vi ./ubuntu-16.04/cuda/8.0/devel/cudnn5/Dockerfile.ppc64le
...
RUN CUDNN_DOWNLOAD_SUM=663aac0328f821d90ae9c74ee43e90751706546c2ce769ea9c96f92864300af6 && \
#RUN CUDNN_DOWNLOAD_SUM=51f698d468401cef2e3e2ef9bb557bd57cbeb4dca895d1d1ae8a751d090bbe39 && \
root@minsky:/data/nvidia-docker# make cuda OS=ubuntu-16.04
我从以下测试中得到了663aac0328f821d90ae9c74ee43e90751706546c2ce769ea9c96f92864300af6的校验和值。
root@minsky:/data/nvidia-docker# sha256sum cudnn-8.0-linux-ppc64le-v5.1.tgz
663aac0328f821d90ae9c74ee43e90751706546c2ce769ea9c96f92864300af6 cudnn-8.0-linux-ppc64le-v5.1.tgz
这很好用。不过,我不确定这是否是正确的解决方案,以及为什么这个错误首先发生。