在ppc64le上构建nvidia-docker时出现sha256sum错误

时间:2017-01-31 02:27:27

标签: docker

大师。

在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

有关如何优雅地解决这个问题的想法吗?

1 个答案:

答案 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

这很好用。不过,我不确定这是否是正确的解决方案,以及为什么这个错误首先发生。