|
|
@ -1,23 +1,6 @@
|
|
|
|
#!/bin/bash
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
set -xe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function cmake_gen() {
|
|
|
|
function cmake_gen() {
|
|
|
|
# Set BASE_IMAGE according to env variables
|
|
|
|
|
|
|
|
if [[ ${WITH_GPU} == "ON" ]]; then
|
|
|
|
|
|
|
|
BASE_IMAGE="nvidia/cuda:8.0-cudnn5-runtime-ubuntu16.04"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
BASE_IMAGE="ubuntu:16.04"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DOCKERFILE_GPU_ENV=""
|
|
|
|
|
|
|
|
DOCKERFILE_CUDNN_DSO=""
|
|
|
|
|
|
|
|
if [[ ${WITH_GPU:-OFF} == 'ON' ]]; then
|
|
|
|
|
|
|
|
DOCKERFILE_GPU_ENV="ENV LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
|
|
|
|
|
|
|
|
DOCKERFILE_CUDNN_DSO="RUN ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.5 /usr/lib/x86_64-linux-gnu/libcudnn.so"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mkdir -p /paddle/build
|
|
|
|
mkdir -p /paddle/build
|
|
|
|
cd /paddle/build
|
|
|
|
cd /paddle/build
|
|
|
|
|
|
|
|
|
|
|
@ -26,10 +9,29 @@ function cmake_gen() {
|
|
|
|
# delete previous built whl packages
|
|
|
|
# delete previous built whl packages
|
|
|
|
rm -rf /paddle/paddle/dist 2>/dev/null || true
|
|
|
|
rm -rf /paddle/paddle/dist 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Support build for all python versions, currently
|
|
|
|
|
|
|
|
# including cp27-cp27m and cp27-cp27mu.
|
|
|
|
|
|
|
|
PYTHON_FLAGS=""
|
|
|
|
|
|
|
|
if [ "$1" != "" ]; then
|
|
|
|
|
|
|
|
echo "using python abi: $1"
|
|
|
|
|
|
|
|
if [ "$1" == "cp27-cp27m" ]; then
|
|
|
|
|
|
|
|
export LD_LIBRARY_PATH=/opt/_internal/cpython-2.7.11-ucs2/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-2.7.11-ucs4/lib:}
|
|
|
|
|
|
|
|
PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp27-cp27m/bin/python
|
|
|
|
|
|
|
|
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27m/include/python2.7
|
|
|
|
|
|
|
|
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs2/lib/libpython2.7.so"
|
|
|
|
|
|
|
|
elif [ "$1" == "cp27-cp27mu" ]; then
|
|
|
|
|
|
|
|
export LD_LIBRARY_PATH=/opt/_internal/cpython-2.7.11-ucs4/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-2.7.11-ucs2/lib:}
|
|
|
|
|
|
|
|
PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp27-cp27mu/bin/python
|
|
|
|
|
|
|
|
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27mu/include/python2.7
|
|
|
|
|
|
|
|
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs4/lib/libpython2.7.so"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
cat <<EOF
|
|
|
|
cat <<EOF
|
|
|
|
========================================
|
|
|
|
========================================
|
|
|
|
Configuring cmake in /paddle/build ...
|
|
|
|
Configuring cmake in /paddle/build ...
|
|
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
|
|
|
|
${PYTHON_FLAGS}
|
|
|
|
-DWITH_DOC=OFF
|
|
|
|
-DWITH_DOC=OFF
|
|
|
|
-DWITH_GPU=${WITH_GPU:-OFF}
|
|
|
|
-DWITH_GPU=${WITH_GPU:-OFF}
|
|
|
|
-DWITH_MKLDNN=${WITH_MKLDNN:-ON}
|
|
|
|
-DWITH_MKLDNN=${WITH_MKLDNN:-ON}
|
|
|
@ -46,12 +48,12 @@ function cmake_gen() {
|
|
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
|
|
========================================
|
|
|
|
========================================
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
|
|
# Disable UNITTEST_USE_VIRTUALENV in docker because
|
|
|
|
# Disable UNITTEST_USE_VIRTUALENV in docker because
|
|
|
|
# docker environment is fully controlled by this script.
|
|
|
|
# docker environment is fully controlled by this script.
|
|
|
|
# See /Paddle/CMakeLists.txt, UNITTEST_USE_VIRTUALENV option.
|
|
|
|
# See /Paddle/CMakeLists.txt, UNITTEST_USE_VIRTUALENV option.
|
|
|
|
cmake .. \
|
|
|
|
cmake .. \
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
|
|
|
|
${PYTHON_FLAGS} \
|
|
|
|
-DWITH_DOC=OFF \
|
|
|
|
-DWITH_DOC=OFF \
|
|
|
|
-DWITH_GPU=${WITH_GPU:-OFF} \
|
|
|
|
-DWITH_GPU=${WITH_GPU:-OFF} \
|
|
|
|
-DWITH_MKLDNN=${WITH_MKLDNN:-ON} \
|
|
|
|
-DWITH_MKLDNN=${WITH_MKLDNN:-ON} \
|
|
|
@ -134,6 +136,19 @@ EOF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function gen_dockerfile() {
|
|
|
|
function gen_dockerfile() {
|
|
|
|
|
|
|
|
# Set BASE_IMAGE according to env variables
|
|
|
|
|
|
|
|
if [[ ${WITH_GPU} == "ON" ]]; then
|
|
|
|
|
|
|
|
BASE_IMAGE="nvidia/cuda:8.0-cudnn5-runtime-ubuntu16.04"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
BASE_IMAGE="ubuntu:16.04"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DOCKERFILE_GPU_ENV=""
|
|
|
|
|
|
|
|
DOCKERFILE_CUDNN_DSO=""
|
|
|
|
|
|
|
|
if [[ ${WITH_GPU:-OFF} == 'ON' ]]; then
|
|
|
|
|
|
|
|
DOCKERFILE_GPU_ENV="ENV LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
|
|
|
|
|
|
|
|
DOCKERFILE_CUDNN_DSO="RUN ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.5 /usr/lib/x86_64-linux-gnu/libcudnn.so"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
cat <<EOF
|
|
|
|
cat <<EOF
|
|
|
|
========================================
|
|
|
|
========================================
|
|
|
@ -168,13 +183,14 @@ EOF
|
|
|
|
${DOCKERFILE_GPU_ENV}
|
|
|
|
${DOCKERFILE_GPU_ENV}
|
|
|
|
ADD go/cmd/pserver/pserver /usr/bin/
|
|
|
|
ADD go/cmd/pserver/pserver /usr/bin/
|
|
|
|
ADD go/cmd/master/master /usr/bin/
|
|
|
|
ADD go/cmd/master/master /usr/bin/
|
|
|
|
ADD paddle/pybind/print_operators_doc /usr/bin/
|
|
|
|
|
|
|
|
# default command shows the paddle version and exit
|
|
|
|
# default command shows the paddle version and exit
|
|
|
|
CMD ["paddle", "version"]
|
|
|
|
CMD ["paddle", "version"]
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
cmake_gen
|
|
|
|
set -xe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cmake_gen ${PYTHON_ABI:-""}
|
|
|
|
run_build
|
|
|
|
run_build
|
|
|
|
run_test
|
|
|
|
run_test
|
|
|
|
gen_docs
|
|
|
|
gen_docs
|
|
|
|