commit
ff8262e283
@ -1,28 +1,48 @@
|
|||||||
| Github account | name |
|
| 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 |
|
| gangliao | Gang Liao |
|
||||||
| luotao01 | Tao Luo |
|
| gongweibao | Wei-Bao Gong |
|
||||||
| jacquesqiao | Long-Fei Qiao |
|
| Guo Sheng | Sheng Guo |
|
||||||
| qingqing01 | Qing-Qing Dang |
|
| Haichao-Zhang | Hai-Chao Zhang |
|
||||||
| hedaoyuan | Dao-Yuan He |
|
| 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 |
|
| QiJune | Jun Qi |
|
||||||
|
| qingqing01 | Qing-Qing Dang |
|
||||||
|
| reyoung | Yang Yu |
|
||||||
|
| Superjom | Chun-Wei Yan |
|
||||||
| tianbingsz | Tian-Bing Xu |
|
| tianbingsz | Tian-Bing Xu |
|
||||||
| cxwangyi, yiwangbaidu, wangkuiyi | Yi Wang |
|
|
||||||
| typhoonzero | Yi Wu |
|
| typhoonzero | Yi Wu |
|
||||||
| backyes | Yan-Fei Wang |
|
| wanghaoshuang | Hao-Shuang Wang |
|
||||||
| pengli09 | Peng Li |
|
| wangyang59 | Yang Wang |
|
||||||
| livc | Zhao Li |
|
| wangzhen-nlp | Zhen Wang |
|
||||||
|
| wen-bo-yang | Wen-Bo Yang |
|
||||||
|
| wwhu | Wei-Wei Hu |
|
||||||
|
| xinghai-sun | Xing-Hai Sun |
|
||||||
| Xreki | Yi-Qun Liu |
|
| Xreki | Yi-Qun Liu |
|
||||||
|
| xujun05 | Jun Xu |
|
||||||
|
| xushaoyong | Shao-Yong Xu |
|
||||||
| Yancey1989 | Xu Yan |
|
| Yancey1989 | Xu Yan |
|
||||||
| emailweixu | Wei Xu |
|
| zhaopu7 | Pu Zhao |
|
||||||
| 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 |
|
|
||||||
| zhouxiao-coder | Xiao Zhou |
|
| zhouxiao-coder | Xiao Zhou |
|
||||||
| lipeng-unisound | Peng Li |
|
| Zrachel | Rui-Qing Zhang |
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
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}
|
||||||
|
# for latest version, please get from official website
|
||||||
|
# URL "https://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz"
|
||||||
|
# URL_MD5 "1a47e78efe365a97de0c022d127607c3"
|
||||||
|
|
||||||
|
# for no-ssl http support, please get from bazel's mirror
|
||||||
|
# URL "http://mirror.bazel.build/bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz"
|
||||||
|
# URL_MD5 "4645c66075982da6fa0bcf6b20f3e8f7"
|
||||||
|
|
||||||
|
# get from github mirror
|
||||||
|
GIT_REPOSITORY "https://github.com/RLovelett/eigen.git"
|
||||||
|
GIT_TAG "a46d2e7337c4656f00abe54a8115f6d76153a048"
|
||||||
|
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,72 @@
|
|||||||
|
# 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_ROOT ${CMAKE_INSTALL_PREFIX})
|
||||||
|
IF(NOT "$ENV{HOME}" STREQUAL "/root")
|
||||||
|
SET(MKLDNN_INSTALL_ROOT "$ENV{HOME}")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(MKLDNN_INSTALL_DIR "${MKLDNN_INSTALL_ROOT}/opt/paddle/third_party/mkldnn")
|
||||||
|
SET(MKLDNN_INCLUDE_DIR "${MKLDNN_INSTALL_DIR}/include" CACHE PATH "mkldnn include directory." FORCE)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
MESSAGE(WARNING "It is not supported compiling with mkldnn in windows Paddle yet."
|
||||||
|
"Force WITH_MKLDNN=OFF")
|
||||||
|
SET(WITH_MKLDNN OFF)
|
||||||
|
return()
|
||||||
|
ELSE(WIN32)
|
||||||
|
SET(MKLDNN_LIBRARY "${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_MACOSX_RPATH 1) # hold for MacOS
|
||||||
|
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${MKLDNN_INSTALL_DIR}/lib")
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(${MKLDNN_INCLUDE_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})
|
||||||
|
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}
|
||||||
|
CONFIGURE_COMMAND mkdir -p <SOURCE_DIR>/build
|
||||||
|
BUILD_COMMAND cd <SOURCE_DIR>/build
|
||||||
|
&& cmake .. -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL_DIR} -DMKLROOT=${MKLDNN_MKLROOT}
|
||||||
|
&& $(MAKE)
|
||||||
|
INSTALL_COMMAND cd <SOURCE_DIR>/build && $(MAKE) install
|
||||||
|
UPDATE_COMMAND ""
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_LIBRARY(mkldnn SHARED IMPORTED GLOBAL)
|
||||||
|
SET_PROPERTY(TARGET mkldnn PROPERTY IMPORTED_LOCATION ${MKLDNN_LIBRARY})
|
||||||
|
ADD_DEPENDENCIES(mkldnn ${MKLDNN_PROJECT})
|
||||||
|
MESSAGE(STATUS "Mkldnn library: ${MKLDNN_LIBRARY}")
|
||||||
|
LIST(APPEND external_project_dependencies mkldnn)
|
@ -0,0 +1,64 @@
|
|||||||
|
# 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})
|
||||||
|
|
||||||
|
INCLUDE(ExternalProject)
|
||||||
|
|
||||||
|
SET(MKLML_PROJECT "extern_mklml")
|
||||||
|
SET(MKLML_VER "mklml_lnx_2018.0.20170425")
|
||||||
|
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 "opt/paddle/third_party/mklml")
|
||||||
|
SET(MKLML_INSTALL_ROOT "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
IF(NOT "$ENV{HOME}" STREQUAL "/root")
|
||||||
|
SET(MKLML_INSTALL_ROOT "$ENV{HOME}")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
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})
|
||||||
|
|
||||||
|
SET(mklml_cmakefile ${MKLML_DOWNLOAD_DIR}/CMakeLists.txt)
|
||||||
|
FILE(WRITE ${mklml_cmakefile} "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 -O ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz ${MKLML_URL}
|
||||||
|
&& tar -xzf ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz
|
||||||
|
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()
|
@ -0,0 +1,30 @@
|
|||||||
|
INCLUDE(ExternalProject)
|
||||||
|
|
||||||
|
SET(PYBIND_SOURCE_DIR ${THIRD_PARTY_PATH}/pybind)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(${PYBIND_SOURCE_DIR}/src/extern_pybind/include)
|
||||||
|
|
||||||
|
ExternalProject_Add(
|
||||||
|
extern_pybind
|
||||||
|
${EXTERNAL_PROJECT_LOG_ARGS}
|
||||||
|
GIT_REPOSITORY "https://github.com/pybind/pybind11.git"
|
||||||
|
GIT_TAG "v2.1.1"
|
||||||
|
PREFIX ${PYBIND_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}/pybind_dummy.c)
|
||||||
|
file(WRITE ${dummyfile} "const char * dummy_any = \"${dummyfile}\";")
|
||||||
|
add_library(pybind STATIC ${dummyfile})
|
||||||
|
else()
|
||||||
|
add_library(pybind INTERFACE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(pybind extern_pybind)
|
||||||
|
|
||||||
|
LIST(APPEND external_project_dependencies pybind)
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue