From a3a7e76c7fdce9a75d6e6b5a57c3f189b05bd3b7 Mon Sep 17 00:00:00 2001 From: Yi Wang Date: Sat, 26 Nov 2016 20:38:56 -0800 Subject: [PATCH] Respond to Helin's comments --- doc/build/docker_install.rst | 20 +++++++++++++------- paddle/scripts/docker/Dockerfile.m4 | 3 ++- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/doc/build/docker_install.rst b/doc/build/docker_install.rst index 93e6f6dd7e..5f272aabd7 100644 --- a/doc/build/docker_install.rst +++ b/doc/build/docker_install.rst @@ -20,22 +20,28 @@ For each version of PaddlePaddle, we release 4 variants of Docker images: | gpu-noavx | no | yes | +-----------------+-------------+-------+ -The following command line detects if your CPU supports :code:`AVX`. +We run the following command on Linux to check if the CPU supports :code:`AVX`. -.. code-block:: bash +.. code-block:: bash + + if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi + +On Mac OS X, we need to run + +.. code-block:: bash - if cat /proc/cpuinfo | grep -q avx ; then echo "Support AVX"; else echo "Not support AVX"; fi + sysctl -a | grep machdep.cpu.leaf7_features Once we determine the proper variant, we can cope with the Docker image tag name by appending the version number. For example, the following command runs the AVX-enabled image of the most recent version: -.. code-block:: bash +.. code-block:: bash docker run -it --rm paddledev/paddle:cpu-latest /bin/bash To run a GPU-enabled image, you need to install CUDA and let Docker knows about it: -.. code-block:: bash +.. code-block:: bash export CUDA_SO="$(\ls /usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')" export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}') @@ -43,13 +49,13 @@ To run a GPU-enabled image, you need to install CUDA and let Docker knows about The default entry point of all our Docker images starts the OpenSSH server. To run PaddlePaddle and to expose OpenSSH port to 2202 on the host computer: -.. code-block:: bash +.. code-block:: bash docker run -d -p 2202:22 paddledev/paddle:cpu-latest Then we can login to the container using username :code:`root` and password :code:`root`: -.. code-block:: bash +.. code-block:: bash ssh -p 2202 root@localhost diff --git a/paddle/scripts/docker/Dockerfile.m4 b/paddle/scripts/docker/Dockerfile.m4 index 7f08e66653..f2822acdde 100644 --- a/paddle/scripts/docker/Dockerfile.m4 +++ b/paddle/scripts/docker/Dockerfile.m4 @@ -4,7 +4,8 @@ MAINTAINER PaddlePaddle Dev Team # It is good to run apt-get install with Dockerfile RUN directive, # because if the following invocation to /root/build.sh fails, `docker # build` wouldn't have to re-install packages after we fix -# /root/build.sh. +# /root/build.sh. For more about Docker build cache, please refer to +# https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#/build-cache. RUN apt-get update && \ apt-get install -y cmake libprotobuf-dev protobuf-compiler git \ libgoogle-glog-dev libgflags-dev libatlas-dev libatlas3-base g++ m4 python-pip \ -- GitLab