Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into fix_pnpair
commit
e66d728328
@ -1,28 +1,48 @@
|
||||
| Github account | name |
|
||||
|---|---|
|
||||
| reyoung | Yang Yu |
|
||||
| backyes | Yan-Fei Wang |
|
||||
| beckett1124 | Bin Qi |
|
||||
| Canpio | Jia-Yi Feng |
|
||||
| chengxiaohua1105 | Xiao-Hua Cheng |
|
||||
| cxwangyi, yiwangbaidu, wangkuiyi | Yi Wang |
|
||||
| cxysteven | Xing-Yi Cheng |
|
||||
| dzhwinter | Zhi-Hong Dong |
|
||||
| emailweixu | Wei Xu |
|
||||
| gangliao | Gang Liao |
|
||||
| luotao01 | Tao Luo |
|
||||
| jacquesqiao | Long-Fei Qiao |
|
||||
| qingqing01 | Qing-Qing Dang |
|
||||
| gongweibao | Wei-Bao Gong |
|
||||
| Guo Sheng | Sheng Guo |
|
||||
| Haichao-Zhang | Hai-Chao Zhang |
|
||||
| hedaoyuan | Dao-Yuan He |
|
||||
| wangyang59 | Yang Wang |
|
||||
| helinwang | He-Lin Wang |
|
||||
| jacquesqiao | Long-Fei Qiao |
|
||||
| kuke | Yi-Bing Liu |
|
||||
| lcy-seso | Ying Cao |
|
||||
| lipeng-unisound | Peng Li |
|
||||
| liuyuan | Yuan Liu |
|
||||
| livc | Zhao Li |
|
||||
| llxxxll | Yong-Feng Liu |
|
||||
| luotao01 | Tao Luo |
|
||||
| lzhao4ever | Liang Zhao |
|
||||
| NHZlX | Zhao-Long Xing |
|
||||
| pakchoi | Chuan-Jiang Song |
|
||||
| pengli09 | Peng Li |
|
||||
| pkuyym | Ya-Ming Yang |
|
||||
| QiJune | Jun Qi |
|
||||
| qingqing01 | Qing-Qing Dang |
|
||||
| reyoung | Yang Yu |
|
||||
| Superjom | Chun-Wei Yan |
|
||||
| tianbingsz | Tian-Bing Xu |
|
||||
| cxwangyi, yiwangbaidu, wangkuiyi | Yi Wang |
|
||||
| typhoonzero | Yi Wu |
|
||||
| backyes | Yan-Fei Wang |
|
||||
| pengli09 | Peng Li |
|
||||
| livc | Zhao Li |
|
||||
| wanghaoshuang | Hao-Shuang Wang |
|
||||
| wangyang59 | Yang Wang |
|
||||
| wangzhen-nlp | Zhen Wang |
|
||||
| wen-bo-yang | Wen-Bo Yang |
|
||||
| wwhu | Wei-Wei Hu |
|
||||
| xinghai-sun | Xing-Hai Sun |
|
||||
| Xreki | Yi-Qun Liu |
|
||||
| xujun05 | Jun Xu |
|
||||
| xushaoyong | Shao-Yong Xu |
|
||||
| Yancey1989 | Xu Yan |
|
||||
| emailweixu | Wei Xu |
|
||||
| wen-bo-yang | Wen-Bo Yang |
|
||||
| helinwang | He-Lin Wang |
|
||||
| lcy-seso | Ying Cao |
|
||||
| Zrachel | Rui-Qing Zhang |
|
||||
| Haichao-Zhang | Hai-Chao Zhang |
|
||||
| gongweibao | Wei-Bao Gong |
|
||||
| lzhao4ever | Liang Zhao |
|
||||
| zhaopu7 | Pu Zhao |
|
||||
| zhouxiao-coder | Xiao Zhou |
|
||||
| lipeng-unisound | Peng Li |
|
||||
| Zrachel | Rui-Qing Zhang |
|
||||
|
@ -0,0 +1,49 @@
|
||||
FROM ubuntu:16.04
|
||||
MAINTAINER PaddlePaddle Authors <paddle-dev@baidu.com>
|
||||
|
||||
ARG UBUNTU_MIRROR
|
||||
RUN /bin/bash -c 'if [[ -n ${UBUNTU_MIRROR} ]]; then sed -i 's#http://archive.ubuntu.com/ubuntu#${UBUNTU_MIRROR}#g' /etc/apt/sources.list; fi'
|
||||
|
||||
ENV HOME=/root \
|
||||
ANDROID_NDK_HOME=/opt/android-ndk-linux \
|
||||
ANDROID_STANDALONE_TOOLCHAIN=/opt/android-toolchain-gcc
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
git python-dev python-pip python-numpy \
|
||||
wget curl tar unzip gcc g++ locales clang-format-3.8 swig cmake && \
|
||||
apt-get clean -y
|
||||
|
||||
# Install Go and glide
|
||||
RUN wget -O go.tgz https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz && \
|
||||
tar -C /usr/local -xzf go.tgz && \
|
||||
mkdir /root/gopath && \
|
||||
mkdir /root/gopath/bin && \
|
||||
mkdir /root/gopath/src && \
|
||||
rm go.tgz
|
||||
ENV GOROOT=/usr/local/go GOPATH=/root/gopath
|
||||
# should not be in the same line with GOROOT definition, otherwise docker build could not find GOROOT.
|
||||
ENV PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
|
||||
|
||||
# git credential to skip password typing
|
||||
RUN git config --global credential.helper store
|
||||
|
||||
# Fix locales to en_US.UTF-8
|
||||
RUN localedef -i en_US -f UTF-8 en_US.UTF-8
|
||||
|
||||
RUN pip install --upgrade pip && \
|
||||
pip install -U 'protobuf==3.1.0' && \
|
||||
pip install -U wheel sphinx && \
|
||||
pip install pre-commit
|
||||
|
||||
# Android NDK
|
||||
RUN mkdir /opt/android-ndk-tmp && \
|
||||
cd /opt/android-ndk-tmp && \
|
||||
wget -q https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip && \
|
||||
unzip -q android-ndk-r14b-linux-x86_64.zip && \
|
||||
mv android-ndk-r14b ${ANDROID_NDK_HOME} && \
|
||||
${ANDROID_NDK_HOME}/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-21 --install-dir=${ANDROID_STANDALONE_TOOLCHAIN} && \
|
||||
rm -rf /opt/android-ndk-tmp && \
|
||||
rm -rf ${ANDROID_NDK_HOME}
|
||||
|
||||
CMD ["bash", "/paddle/paddle/scripts/docker/build_android.sh"]
|
@ -0,0 +1,30 @@
|
||||
INCLUDE(ExternalProject)
|
||||
|
||||
SET(EIGEN_SOURCE_DIR ${THIRD_PARTY_PATH}/eigen3)
|
||||
|
||||
INCLUDE_DIRECTORIES(${EIGEN_SOURCE_DIR}/src/extern_eigen3)
|
||||
|
||||
ExternalProject_Add(
|
||||
extern_eigen3
|
||||
${EXTERNAL_PROJECT_LOG_ARGS}
|
||||
GIT_REPOSITORY "https://github.com/RLovelett/eigen.git"
|
||||
GIT_TAG "master"
|
||||
PREFIX ${EIGEN_SOURCE_DIR}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
)
|
||||
|
||||
if (${CMAKE_VERSION} VERSION_LESS "3.3.0")
|
||||
set(dummyfile ${CMAKE_CURRENT_BINARY_DIR}/eigen3_dummy.c)
|
||||
file(WRITE ${dummyfile} "const char * dummy_eigen3 = \"${dummyfile}\";")
|
||||
add_library(eigen3 STATIC ${dummyfile})
|
||||
else()
|
||||
add_library(eigen3 INTERFACE)
|
||||
endif()
|
||||
|
||||
add_dependencies(eigen3 extern_eigen3)
|
||||
|
||||
LIST(APPEND external_project_dependencies eigen3)
|
@ -0,0 +1,67 @@
|
||||
# Copyright (c) 2017 PaddlePaddle Authors. All Rights Reserve.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
IF(NOT ${WITH_MKLDNN})
|
||||
return()
|
||||
ENDIF(NOT ${WITH_MKLDNN})
|
||||
|
||||
INCLUDE(ExternalProject)
|
||||
|
||||
SET(MKLDNN_PROJECT "extern_mkldnn")
|
||||
SET(MKLDNN_SOURCES_DIR ${THIRD_PARTY_PATH}/mkldnn)
|
||||
SET(MKLDNN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/mkldnn)
|
||||
SET(MKLDNN_INC_DIR "${MKLDNN_INSTALL_DIR}/include" CACHE PATH "mkldnn include directory." FORCE)
|
||||
|
||||
IF(WIN32 OR APPLE)
|
||||
MESSAGE(WARNING
|
||||
"Windows or Mac is not supported with MKLDNN in Paddle yet."
|
||||
"Force WITH_MKLDNN=OFF")
|
||||
SET(WITH_MKLDNN OFF CACHE STRING "Disable MKLDNN in Windows and MacOS" FORCE)
|
||||
return()
|
||||
ENDIF()
|
||||
|
||||
SET(MKLDNN_LIB "${MKLDNN_INSTALL_DIR}/lib/libmkldnn.so" CACHE FILEPATH "mkldnn library." FORCE)
|
||||
MESSAGE(STATUS "Set ${MKLDNN_INSTALL_DIR}/lib to runtime path")
|
||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${MKLDNN_INSTALL_DIR}/lib")
|
||||
|
||||
INCLUDE_DIRECTORIES(${MKLDNN_INC_DIR})
|
||||
|
||||
IF(${CBLAS_PROVIDER} STREQUAL "MKLML")
|
||||
SET(MKLDNN_DEPENDS ${MKLML_PROJECT})
|
||||
SET(MKLDNN_MKLROOT ${MKLML_ROOT})
|
||||
SET(MKLDNN_IOMP_LIB ${MKLML_IOMP_LIB})
|
||||
SET(MKLDNN_IOMP_DIR ${MKLML_LIB_DIR})
|
||||
MESSAGE(STATUS "Build MKLDNN with ${MKLDNN_MKLROOT}")
|
||||
ENDIF()
|
||||
|
||||
ExternalProject_Add(
|
||||
${MKLDNN_PROJECT}
|
||||
${EXTERNAL_PROJECT_LOG_ARGS}
|
||||
DEPENDS ${MKLDNN_DEPENDS}
|
||||
GIT_REPOSITORY "https://github.com/01org/mkl-dnn.git"
|
||||
GIT_TAG "v0.9"
|
||||
PREFIX ${MKLDNN_SOURCES_DIR}
|
||||
UPDATE_COMMAND ""
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL_DIR}
|
||||
CMAKE_ARGS -DMKLROOT=${MKLDNN_MKLROOT}
|
||||
CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR}
|
||||
-DMKLROOT:PATH=${MKLDNN_MKLROOT}
|
||||
)
|
||||
|
||||
ADD_LIBRARY(mkldnn SHARED IMPORTED GLOBAL)
|
||||
SET_PROPERTY(TARGET mkldnn PROPERTY IMPORTED_LOCATION ${MKLDNN_LIB})
|
||||
ADD_DEPENDENCIES(mkldnn ${MKLDNN_PROJECT})
|
||||
MESSAGE(STATUS "Mkldnn library: ${MKLDNN_LIB}")
|
||||
LIST(APPEND external_project_dependencies mkldnn)
|
@ -0,0 +1,67 @@
|
||||
# Copyright (c) 2017 PaddlePaddle Authors. All Rights Reserve.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
IF(NOT ${WITH_MKLML})
|
||||
return()
|
||||
ENDIF(NOT ${WITH_MKLML})
|
||||
|
||||
IF(WIN32 OR APPLE)
|
||||
MESSAGE(WARNING
|
||||
"Windows or Mac is not supported with MKLML in Paddle yet."
|
||||
"Force WITH_MKLML=OFF")
|
||||
SET(WITH_MKLML OFF CACHE STRING "Disable MKLML package in Windows and MacOS" FORCE)
|
||||
return()
|
||||
ENDIF()
|
||||
|
||||
INCLUDE(ExternalProject)
|
||||
|
||||
SET(MKLML_PROJECT "extern_mklml")
|
||||
SET(MKLML_VER "mklml_lnx_2018.0.20170720")
|
||||
SET(MKLML_URL "https://github.com/01org/mkl-dnn/releases/download/v0.9/${MKLML_VER}.tgz")
|
||||
SET(MKLML_SOURCE_DIR "${THIRD_PARTY_PATH}/mklml")
|
||||
SET(MKLML_DOWNLOAD_DIR "${MKLML_SOURCE_DIR}/src/${MKLML_PROJECT}")
|
||||
SET(MKLML_DST_DIR "mklml")
|
||||
SET(MKLML_INSTALL_ROOT "${THIRD_PARTY_PATH}/install")
|
||||
SET(MKLML_INSTALL_DIR ${MKLML_INSTALL_ROOT}/${MKLML_DST_DIR})
|
||||
SET(MKLML_ROOT ${MKLML_INSTALL_DIR}/${MKLML_VER})
|
||||
SET(MKLML_INC_DIR ${MKLML_ROOT}/include)
|
||||
SET(MKLML_LIB_DIR ${MKLML_ROOT}/lib)
|
||||
SET(MKLML_LIB ${MKLML_LIB_DIR}/libmklml_intel.so)
|
||||
SET(MKLML_IOMP_LIB ${MKLML_LIB_DIR}/libiomp5.so)
|
||||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${MKLML_ROOT}/lib")
|
||||
|
||||
INCLUDE_DIRECTORIES(${MKLML_INC_DIR})
|
||||
|
||||
FILE(WRITE ${MKLML_DOWNLOAD_DIR}/CMakeLists.txt
|
||||
"PROJECT(MKLML)\n"
|
||||
"cmake_minimum_required(VERSION 3.0)\n"
|
||||
"install(DIRECTORY ${MKLML_VER}\n"
|
||||
" DESTINATION ${MKLML_DST_DIR})\n")
|
||||
|
||||
ExternalProject_Add(
|
||||
${MKLML_PROJECT}
|
||||
${EXTERNAL_PROJECT_LOG_ARGS}
|
||||
PREFIX ${MKLML_SOURCE_DIR}
|
||||
DOWNLOAD_DIR ${MKLML_DOWNLOAD_DIR}
|
||||
DOWNLOAD_COMMAND wget --no-check-certificate -qO- ${MKLML_URL} | tar xz -C ${MKLML_DOWNLOAD_DIR}
|
||||
DOWNLOAD_NO_PROGRESS 1
|
||||
UPDATE_COMMAND ""
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${MKLML_INSTALL_ROOT}
|
||||
CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLML_INSTALL_ROOT}
|
||||
)
|
||||
|
||||
ADD_LIBRARY(mklml SHARED IMPORTED GLOBAL)
|
||||
SET_PROPERTY(TARGET mklml PROPERTY IMPORTED_LOCATION ${MKLML_LIB})
|
||||
ADD_DEPENDENCIES(mklml ${MKLML_PROJECT})
|
||||
LIST(APPEND external_project_dependencies mklml)
|
@ -0,0 +1,30 @@
|
||||
# Find the NNPACK library
|
||||
# NNPACK_ROOT - where to find NNPACK include and library.
|
||||
#
|
||||
|
||||
set(NNPACK_FOUND OFF)
|
||||
set(NNPACK_ROOT $ENV{NNPACK_ROOT} CACHE PATH "Folder contains NNPACK")
|
||||
find_path(NNPACK_INC_DIR nnpack.h PATHS ${NNPACK_ROOT}/include)
|
||||
find_library(NNPACK_LIB NAMES nnpack PATHS ${NNPACK_ROOT}/lib)
|
||||
find_library(PTHREADPOOL_LIB NAMES pthreadpool PATHS ${NNPACK_ROOT}/lib)
|
||||
find_library(NNPACK_UKERNELS_LIB NAMES nnpack_ukernels PATHS ${NNPACK_ROOT}/lib)
|
||||
find_library(NNPACK_CPUFEATURES_LIB NAMES cpufeatures PATHS ${NNPACK_ROOT}/lib)
|
||||
|
||||
if(NNPACK_INC_DIR AND NNPACK_LIB AND PTHREADPOOL_LIB)
|
||||
set(NNPACK_FOUND ON)
|
||||
INCLUDE_DIRECTORIES(${NNPACK_INC_DIR})
|
||||
|
||||
set(NNPACK_LIBS)
|
||||
list(APPEND NNPACK_LIBS ${NNPACK_LIB} ${PTHREADPOOL_LIB})
|
||||
if (NNPACK_UKERNELS_LIB)
|
||||
list(APPEND NNPACK_LIBS ${NNPACK_UKERNELS_LIB})
|
||||
endif()
|
||||
if (NNPACK_CPUFEATURES_LIB)
|
||||
list(APPEND NNPACK_LIBS ${NNPACK_CPUFEATURES_LIB})
|
||||
endif()
|
||||
if(NOT ANDROID)
|
||||
list(APPEND NNPACK_LIBS "rt")
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Cannot find NNPACK in (${NNPACK_ROOT})")
|
||||
endif()
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue