Skip to content

Commit 8f532b0

Browse files
authored
Merge pull request #1 from PaddlePaddle/develop
Update forked PaddlePaddle
2 parents 617eb67 + 9fd5eae commit 8f532b0

File tree

983 files changed

+92271
-14504
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

983 files changed

+92271
-14504
lines changed

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ include(generic) # simplify cmake module
2828
# TODO(Shibo Tao): remove find_package(CUDA) completely.
2929
find_package(CUDA QUIET)
3030
option(WITH_GPU "Compile PaddlePaddle with NVIDIA GPU" ${CUDA_FOUND})
31-
31+
option(WITH_XPU "Compile PaddlePaddle with BAIDU KUNLUN" OFF)
32+
if (WITH_GPU AND WITH_XPU)
33+
message(FATAL_ERROR "Error when compile GPU and XPU at the same time")
34+
endif()
3235
# cmake 3.12, 3.13, 3.14 will append gcc link options to nvcc, and nvcc doesn't recognize them.
3336
if(WITH_GPU AND (${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.12) AND (${CMAKE_VERSION} VERSION_LESS 3.15))
3437
message(FATAL_ERROR "cmake ${CMAKE_VERSION} is not supported when WITH_GPU=ON because of bug https://cmake.org/pipermail/cmake/2018-September/068195.html. "

Dockerfile

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ RUN /bin/bash -c 'if [[ -n ${UBUNTU_MIRROR} ]]; then sed -i 's#http://archive.ub
1111
ARG WITH_GPU
1212
ARG WITH_AVX
1313

14-
ENV WOBOQ OFF
1514
ENV WITH_GPU=${WITH_GPU:-ON}
1615
ENV WITH_AVX=${WITH_AVX:-ON}
1716

@@ -149,21 +148,11 @@ RUN localedef -i en_US -f UTF-8 en_US.UTF-8
149148
# FIXME: due to temporary ipykernel dependency issue, specify ipykernel jupyter
150149
# version util jupyter fixes this issue.
151150

152-
# specify sphinx version as 1.5.6 and remove -U option for [pip install -U
153-
# sphinx-rtd-theme] since -U option will cause sphinx being updated to newest
154-
# version(1.7.1 for now), which causes building documentation failed.
151+
155152
RUN pip3 --no-cache-dir install -U wheel py-cpuinfo==5.0.0 && \
156-
pip3 --no-cache-dir install -U docopt PyYAML sphinx==1.5.6 && \
157-
pip3 --no-cache-dir install sphinx-rtd-theme==0.1.9 recommonmark && \
158153
pip3.6 --no-cache-dir install -U wheel py-cpuinfo==5.0.0 && \
159-
pip3.6 --no-cache-dir install -U docopt PyYAML sphinx==1.5.6 && \
160-
pip3.6 --no-cache-dir install sphinx-rtd-theme==0.1.9 recommonmark && \
161154
pip3.7 --no-cache-dir install -U wheel py-cpuinfo==5.0.0 && \
162-
pip3.7 --no-cache-dir install -U docopt PyYAML sphinx==1.5.6 && \
163-
pip3.7 --no-cache-dir install sphinx-rtd-theme==0.1.9 recommonmark && \
164155
pip --no-cache-dir install -U wheel py-cpuinfo==5.0.0 && \
165-
pip --no-cache-dir install -U docopt PyYAML sphinx==1.5.6 && \
166-
pip --no-cache-dir install sphinx-rtd-theme==0.1.9 recommonmark
167156

168157
RUN pip3 --no-cache-dir install 'pre-commit==1.10.4' 'ipython==5.3.0' && \
169158
pip3 --no-cache-dir install 'ipykernel==4.6.0' 'jupyter==1.0.0' && \
@@ -184,9 +173,9 @@ RUN pip3.6 --no-cache-dir install pylint pytest astroid isort
184173
RUN pip3.7 --no-cache-dir install pylint pytest astroid isort
185174
RUN pip --no-cache-dir install pylint pytest astroid isort LinkChecker
186175

187-
RUN pip3 --no-cache-dir install coverage
188-
RUN pip3.6 --no-cache-dir install coverage
189-
RUN pip3.7 --no-cache-dir install coverage
176+
RUN pip3 --no-cache-dir install coverage
177+
RUN pip3.6 --no-cache-dir install coverage
178+
RUN pip3.7 --no-cache-dir install coverage
190179
RUN pip --no-cache-dir install coverage
191180

192181
COPY ./python/requirements.txt /root/
@@ -204,12 +193,6 @@ RUN pip3.7 --no-cache-dir install certifi urllib3[secure]
204193
RUN pip --no-cache-dir install certifi urllib3[secure]
205194

206195

207-
# Install woboq_codebrowser to /woboq
208-
RUN git clone https://github.com/woboq/woboq_codebrowser /woboq && \
209-
(cd /woboq \
210-
cmake -DLLVM_CONFIG_EXECUTABLE=/usr/bin/llvm-config-3.8 \
211-
-DCMAKE_BUILD_TYPE=Release . \
212-
make)
213196

214197
# ar mishandles 4GB files
215198
# https://sourceware.org/bugzilla/show_bug.cgi?id=14625

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pip install paddlepaddle
3333
# Linux GPU cuda10cudnn7
3434
pip install paddlepaddle-gpu
3535
# Linux GPU cuda9cudnn7
36-
pip install paddlepaddle-gpu==1.8.3.post97
36+
pip install paddlepaddle-gpu==1.8.4.post97
3737
3838
```
3939
It is recommended to read [this doc](https://www.paddlepaddle.org.cn/documentation/docs/en/beginners_guide/install/index_en.html) on our website.

README_cn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pip install paddlepaddle
3030
# Linux GPU cuda10cudnn7
3131
pip install paddlepaddle-gpu
3232
# Linux GPU cuda9cudnn7
33-
pip install paddlepaddle-gpu==1.8.3.post97
33+
pip install paddlepaddle-gpu==1.8.4.post97
3434
3535
```
3636
更多安装信息详见官网 [安装说明](http://www.paddlepaddle.org.cn/documentation/docs/zh/1.8/beginners_guide/install/index_cn.html)

cmake/configure.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ if(WITH_BOX_PS)
6363
add_definitions(-DPADDLE_WITH_BOX_PS)
6464
endif()
6565

66+
if(WITH_XPU)
67+
message(STATUS "Compile with XPU!")
68+
add_definitions(-DPADDLE_WITH_XPU)
69+
endif()
70+
6671
if(WITH_GPU)
6772
add_definitions(-DPADDLE_WITH_CUDA)
6873
add_definitions(-DEIGEN_USE_GPU)

cmake/cuda.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ else()
1616
set(paddle_known_gpu_archs8 "30 35 50 52 60 61")
1717
set(paddle_known_gpu_archs9 "30 35 50 52 60 61 70")
1818
set(paddle_known_gpu_archs10 "30 35 50 52 60 61 70 75")
19+
set(paddle_known_gpu_archs11 "35 50 52 60 61 70 75 80")
1920
endif()
2021

2122
######################################################################################
@@ -61,6 +62,10 @@ function(detect_installed_gpus out_variable)
6162
if(NOT CUDA_gpu_detect_output)
6263
message(STATUS "Automatic GPU detection failed. Building for all known architectures.")
6364
set(${out_variable} ${paddle_known_gpu_archs} PARENT_SCOPE)
65+
#Todo: fix Automatic GPU detection failed on windows
66+
if(WIN32)
67+
set(${out_variable} "61 75" PARENT_SCOPE)
68+
endif()
6469
else()
6570
set(${out_variable} ${CUDA_gpu_detect_output} PARENT_SCOPE)
6671
endif()
@@ -184,6 +189,10 @@ elseif (${CMAKE_CUDA_COMPILER_VERSION} LESS 11.0) # CUDA 10.x
184189
set(paddle_known_gpu_archs ${paddle_known_gpu_archs10})
185190
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -D_MWAITXINTRIN_H_INCLUDED")
186191
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -D__STRICT_ANSI__")
192+
elseif (${CMAKE_CUDA_COMPILER_VERSION} LESS 12.0) # CUDA 11.x
193+
set(paddle_known_gpu_archs ${paddle_known_gpu_archs11})
194+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -D_MWAITXINTRIN_H_INCLUDED")
195+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -D__STRICT_ANSI__")
187196
endif()
188197

189198
add_definitions("-DPADDLE_CUDA_BINVER=\"${CUDA_VERSION_MAJOR}${CUDA_VERSION_MINOR}\"")

cmake/external/cub.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ include(ExternalProject)
1717
set(CUB_PREFIX_DIR ${THIRD_PARTY_PATH}/cub)
1818
set(CUB_SOURCE_DIR ${THIRD_PARTY_PATH}/cub/src/extern_cub)
1919
set(CUB_REPOSITORY https://github.com/NVlabs/cub.git)
20-
set(CUB_TAG 1.9.8)
20+
set(CUB_TAG 1.8.0)
2121

2222
cache_third_party(extern_cub
2323
REPOSITORY ${CUB_REPOSITORY}

cmake/external/lite.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
3434
set(LITE_INSTALL_DIR ${THIRD_PARTY_PATH}/install/lite)
3535

3636
if(NOT LITE_GIT_TAG)
37-
set(LITE_GIT_TAG 42ab4d559f6659edfc35040fb30fdcec3dc3f8aa)
37+
set(LITE_GIT_TAG dfdfa6440c83bf0b415f9f5a9ff84842ce0bb0fa)
3838
endif()
3939

4040
if(NOT CUDA_ARCH_NAME)

cmake/external/xpu.cmake

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
if (NOT WITH_XPU)
2+
return()
3+
endif()
4+
5+
INCLUDE(ExternalProject)
6+
SET(XPU_PROJECT "extern_xpu")
7+
SET(XPU_URL "https://kunlun1.su.bcebos.com/xpu.tar.gz" CACHE STRING "" FORCE)
8+
SET(XPU_SOURCE_DIR "${THIRD_PARTY_PATH}/xpu")
9+
SET(XPU_DOWNLOAD_DIR "${XPU_SOURCE_DIR}/src/${XPU_PROJECT}")
10+
SET(XPU_INSTALL_DIR "${THIRD_PARTY_PATH}/install/xpu")
11+
SET(XPU_API_INC_DIR "${THIRD_PARTY_PATH}/install/xpu/api/include")
12+
SET(XPU_RUNTIME_INC_DIR "${THIRD_PARTY_PATH}/install/xpu/runtime/include")
13+
SET(XPU_LIB_DIR "${THIRD_PARTY_PATH}/install/xpu/lib")
14+
15+
SET(XPU_API_LIB_NAME "libxpuapi.so")
16+
SET(XPU_RT_LIB_NAME "libxpurt.so")
17+
SET(XPU_SIM_LIB_NAME "libxpusim.so")
18+
SET(XPU_API_LIB "${XPU_LIB_DIR}/${XPU_API_LIB_NAME}")
19+
SET(XPU_RT_LIB "${XPU_LIB_DIR}/${XPU_RT_LIB_NAME}")
20+
SET(XPU_SIM_LIB "${XPU_LIB_DIR}/${XPU_SIM_LIB_NAME}")
21+
22+
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${XPU_INSTALL_DIR}/lib")
23+
24+
INCLUDE_DIRECTORIES(${XPU_API_INC_DIR})
25+
INCLUDE_DIRECTORIES(${XPU_RUNTIME_INC_DIR})
26+
27+
FILE(WRITE ${XPU_DOWNLOAD_DIR}/CMakeLists.txt
28+
"PROJECT(XPU)\n"
29+
"cmake_minimum_required(VERSION 3.0)\n"
30+
"install(DIRECTORY xpu/api xpu/runtime xpu/lib \n"
31+
" DESTINATION ${XPU_INSTALL_DIR})\n")
32+
33+
ExternalProject_Add(
34+
${XPU_PROJECT}
35+
${EXTERNAL_PROJECT_LOG_ARGS}
36+
PREFIX ${XPU_SOURCE_DIR}
37+
DOWNLOAD_DIR ${XPU_DOWNLOAD_DIR}
38+
DOWNLOAD_COMMAND wget --no-check-certificate ${XPU_URL} -c -q -O xpu.tar.gz
39+
&& tar xvf xpu.tar.gz
40+
DOWNLOAD_NO_PROGRESS 1
41+
UPDATE_COMMAND ""
42+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${XPU_INSTALL_ROOT}
43+
CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${XPU_INSTALL_ROOT}
44+
)
45+
46+
ADD_LIBRARY(shared_xpuapi SHARED IMPORTED GLOBAL)
47+
set_property(TARGET shared_xpuapi PROPERTY IMPORTED_LOCATION "${XPU_API_LIB}")
48+
49+
# generate a static dummy target to track xpulib dependencies
50+
# for cc_library(xxx SRCS xxx.c DEPS xpulib)
51+
generate_dummy_static_lib(LIB_NAME "xpulib" GENERATOR "xpu.cmake")
52+
53+
TARGET_LINK_LIBRARIES(xpulib ${XPU_API_LIB} ${XPU_RT_LIB} ${XPU_SIM_LIB})
54+
ADD_DEPENDENCIES(xpulib ${XPU_PROJECT})

cmake/generic.cmake

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,8 +384,12 @@ function(cc_test_run TARGET_NAME)
384384
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cpu_deterministic=true)
385385
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_init_allocated_mem=true)
386386
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cudnn_deterministic=true)
387-
# No unit test should exceed 10 minutes.
388-
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600)
387+
# No unit test should exceed 2 minutes.
388+
if (APPLE OR WIN32)
389+
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600)
390+
else()
391+
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 120)
392+
endif()
389393
endif()
390394
endfunction()
391395

@@ -742,9 +746,14 @@ function(py_test TARGET_NAME)
742746
${PYTHON_EXECUTABLE} -u ${py_test_SRCS} ${py_test_ARGS}
743747
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
744748
endif()
749+
750+
if (APPLE OR WIN32)
751+
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600)
752+
else()
753+
# No unit test should exceed 2 minutes in Linux.
754+
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 120)
755+
endif()
745756

746-
# No unit test should exceed 10 minutes.
747-
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600)
748757
endif()
749758
endfunction()
750759

0 commit comments

Comments
 (0)