Skip to content

Commit a02bc01

Browse files
merger branch
2 parents 156a027 + 8c7bf83 commit a02bc01

File tree

1,515 files changed

+41152
-21893
lines changed

Some content is hidden

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

1,515 files changed

+41152
-21893
lines changed

.clang-tidy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ bugprone-argument-comment,
44
-bugprone-assert-side-effect,
55
-bugprone-bad-signal-to-kill-thread,
66
-bugprone-bool-pointer-implicit-conversion,
7-
-bugprone-branch-clone,
7+
bugprone-branch-clone,
88
bugprone-copy-constructor-init,
99
-bugprone-dangling-handle,
1010
-bugprone-dynamic-static-initializers,
@@ -75,7 +75,7 @@ clang-analyzer-cplusplus.InnerPointer,
7575
-clang-analyzer-cplusplus.SelfAssignment,
7676
-clang-analyzer-cplusplus.SmartPtr,
7777
-clang-analyzer-cplusplus.VirtualCallModeling,
78-
-clang-analyzer-deadcode.DeadStores,
78+
clang-analyzer-deadcode.DeadStores,
7979
-clang-analyzer-fuchsia.HandleChecker,
8080
-clang-analyzer-nullability.NullPassedToNonnull,
8181
-clang-analyzer-nullability.NullReturnedFromNonnull,
@@ -157,7 +157,7 @@ cppcoreguidelines-c-copy-assignment-signature,
157157
cppcoreguidelines-explicit-virtual-functions,
158158
-cppcoreguidelines-init-variables,
159159
cppcoreguidelines-narrowing-conversions,
160-
-cppcoreguidelines-no-malloc,
160+
cppcoreguidelines-no-malloc,
161161
-cppcoreguidelines-pro-type-const-cast,
162162
-cppcoreguidelines-pro-type-member-init,
163163
-cppcoreguidelines-slicing,

.flake8

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ per-file-ignores =
2828

2929
# temp ignore base directory
3030
python/paddle/base/*:
31-
E713,
3231
E712,
3332
E266,
3433
E714

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ repos:
9494
description: Check C++ code style using cpplint.py.
9595
entry: bash ./tools/codestyle/cpplint_pre_commit.hook
9696
language: system
97-
files: \.(c|cc|cxx|cpp|cu|h|hpp|hxx)$
97+
files: \.(cc|cxx|cpp|cu|h|hpp|hxx)$
9898
args:
99-
- --extensions=c,cc,cxx,cpp,cu,cuh,h,hpp,hxx,kps
99+
- --extensions=cc,cxx,cpp,cu,cuh,h,hpp,hxx,kps
100100
- --filter=-readability/fn_size,-build/include_what_you_use,-build/c++11,-whitespace/parens
101101
- --quiet
102102
# Exclude third-party libraries

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,9 @@ option(WITH_CUDNN_FRONTEND
310310
option(WITH_CUDNN_DSO "Compile PaddlePaddle with cuDNN dynamic-link libraries"
311311
OFF)
312312
option(WITH_SHARED_IR "Compile PaddlePaddle with SHARED LIB of IR" ON)
313+
option(WITH_NVCC_LAZY
314+
"Compile PaddlePaddle with nvcc lazy mode, used for CI-Inference only."
315+
ON)
313316

314317
if(WITH_RECORD_BUILDTIME)
315318
set_property(

cmake/cinn.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,8 @@ if(PUBLISH_LIBS)
269269
set(core_includes
270270
"${core_includes};paddle/cinn/runtime/cuda/cinn_cuda_runtime_source.cuh")
271271
set(core_includes
272-
"${core_includes};paddle/utils/flags.h;paddle/utils/flags_native.h")
272+
"${core_includes};paddle/utils/flags.h;paddle/utils/flags_native.h;paddle/utils/test_macros.h"
273+
)
273274
foreach(header ${core_includes})
274275
get_filename_component(prefix ${header} DIRECTORY)
275276
file(COPY ${header}

cmake/experiments/cuda_module_loading_lazy.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
# this experiment option makes Paddle supports lazy loading before CUDA 11.7.
1818

1919
if(LINUX)
20+
if(NOT WITH_NVCC_LAZY)
21+
message(
22+
"EXP_CUDA_MODULE_LOADING_LAZY only works with WITH_NVCC_LAZY=ON on Linux platforms"
23+
)
24+
return()
25+
endif()
2026
if(NOT ON_INFER)
2127
message(
2228
"EXP_CUDA_MODULE_LOADING_LAZY only works with ON_INFER=ON on Linux platforms"

cmake/external/gloo.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if(WITH_GPU)
3737
file(TO_NATIVE_PATH ${PADDLE_SOURCE_DIR}/patches/gloo/device.cc.patch
3838
native_dst)
3939
set(GLOO_PATCH_COMMAND
40-
git checkout -- . && git checkout ${GLOO_TAG} &&patch -Nd
40+
git checkout -- . && git checkout ${GLOO_TAG} && patch -Nd
4141
${SOURCE_DIR}/gloo/transport/tcp < ${native_dst})
4242
endif()
4343
endif()

cmake/external/xpu.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ set(XPU_XFT_LIB_NAME "libxft.so")
2424
set(XPU_XPTI_LIB_NAME "libxpti.so")
2525

2626
if(NOT DEFINED XPU_BASE_DATE)
27-
set(XPU_BASE_DATE "20230907")
27+
set(XPU_BASE_DATE "20230926")
2828
endif()
2929
set(XPU_XCCL_BASE_VERSION "1.0.53.6")
3030
if(NOT DEFINED XPU_XFT_BASE_VERSION)

cmake/generic.cmake

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@
8585
#
8686
# go_library(example SHARED)
8787
#
88+
# To build a unit test binary, which is an executable binary with libpaddle.so
89+
# automatically linked:
90+
#
91+
# paddle_test(example SHARED)
92+
#
8893

8994
# including binary directory for generated headers.
9095
include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -466,6 +471,7 @@ function(cc_test_build TARGET_NAME)
466471
list(REMOVE_ITEM cc_test_DEPS python)
467472
target_link_libraries(${TARGET_NAME} ${PYTHON_LIBRARIES})
468473
endif()
474+
target_compile_definitions(${TARGET_NAME} PUBLIC STATIC_PADDLE)
469475
endif()
470476
get_property(os_dependency_modules GLOBAL PROPERTY OS_DEPENDENCY_MODULES)
471477
target_link_libraries(${TARGET_NAME} ${cc_test_DEPS}
@@ -578,6 +584,62 @@ function(cc_test_old TARGET_NAME)
578584
endif()
579585
endfunction()
580586

587+
function(paddle_test_build TARGET_NAME)
588+
if(WITH_TESTING)
589+
set(oneValueArgs "")
590+
set(multiValueArgs SRCS DEPS)
591+
cmake_parse_arguments(paddle_test "${options}" "${oneValueArgs}"
592+
"${multiValueArgs}" ${ARGN})
593+
add_executable(${TARGET_NAME} ${paddle_test_SRCS})
594+
get_property(paddle_lib GLOBAL PROPERTY PADDLE_LIB_NAME)
595+
target_link_libraries(${TARGET_NAME} $<TARGET_LINKER_FILE:${paddle_lib}>
596+
${paddle_test_DEPS} paddle_gtest_main_new)
597+
add_dependencies(${TARGET_NAME} ${paddle_lib} ${paddle_test_DEPS}
598+
paddle_gtest_main_new)
599+
if(WITH_SHARED_PHI)
600+
target_link_libraries(${TARGET_NAME} $<TARGET_LINKER_FILE:phi>)
601+
add_dependencies(${TARGET_NAME} phi)
602+
endif()
603+
if(WITH_SHARED_IR)
604+
target_link_libraries(${TARGET_NAME} $<TARGET_LINKER_FILE:pir>)
605+
add_dependencies(${TARGET_NAME} pir)
606+
endif()
607+
if(NOT ((NOT WITH_PYTHON) AND ON_INFER))
608+
target_link_libraries(${TARGET_NAME} ${PYTHON_LIBRARIES})
609+
endif()
610+
if(WITH_CINN AND NOT CINN_ONLY)
611+
target_link_libraries(${TARGET_NAME} $<TARGET_LINKER_FILE:cinnapi>)
612+
add_dependencies(${TARGET_NAME} cinnapi)
613+
endif()
614+
if(WITH_XPU)
615+
target_link_libraries(${TARGET_NAME} xpulib)
616+
endif()
617+
if(WITH_ROCM)
618+
target_link_libraries(${TARGET_NAME} ${ROCM_HIPRTC_LIB})
619+
endif()
620+
if(APPLE)
621+
target_link_libraries(
622+
${TARGET_NAME}
623+
"-Wl,-rpath,$<TARGET_FILE_DIR:${paddle_lib}> -Wl,-rpath,$<TARGET_FILE_DIR:phi> -Wl,-rpath,$<TARGET_FILE_DIR:pir>"
624+
)
625+
endif()
626+
common_link(${TARGET_NAME})
627+
check_coverage_opt(${TARGET_NAME} ${paddle_test_SRCS})
628+
endif()
629+
endfunction()
630+
631+
function(paddle_test TARGET_NAME)
632+
if(WITH_TESTING)
633+
set(oneValueArgs "")
634+
set(multiValueArgs SRCS DEPS ARGS)
635+
cmake_parse_arguments(paddle_test "${options}" "${oneValueArgs}"
636+
"${multiValueArgs}" ${ARGN})
637+
paddle_test_build(${TARGET_NAME} SRCS ${paddle_test_SRCS} DEPS
638+
${paddle_test_DEPS})
639+
cc_test_run(${TARGET_NAME} COMMAND ${TARGET_NAME} ARGS ${paddle_test_ARGS})
640+
endif()
641+
endfunction()
642+
581643
function(nv_library TARGET_NAME)
582644
if(WITH_GPU)
583645
set(options STATIC static SHARED shared)

cmake/hip.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,11 @@ find_package_and_include(rocsparse)
8585
find_package_and_include(rocfft)
8686

8787
# set CXX flags for HIP
88-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__HIP_PLATFORM_HCC__")
89-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__")
88+
set(CMAKE_C_FLAGS
89+
"${CMAKE_C_FLAGS} -D__HIP_PLATFORM_HCC__ -DROCM_NO_WRAPPER_HEADER_WARNING")
90+
set(CMAKE_CXX_FLAGS
91+
"${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__ -DROCM_NO_WRAPPER_HEADER_WARNING"
92+
)
9093
set(CMAKE_CXX_FLAGS
9194
"${CMAKE_CXX_FLAGS} -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP")
9295
set(THRUST_DEVICE_SYSTEM THRUST_DEVICE_SYSTEM_HIP)
@@ -96,6 +99,7 @@ list(APPEND HIP_CXX_FLAGS -fPIC)
9699
list(APPEND HIP_CXX_FLAGS -D__HIP_PLATFORM_HCC__=1)
97100
# Note(qili93): HIP has compile conflicts of float16.h as platform::float16 overload std::is_floating_point and std::is_integer
98101
list(APPEND HIP_CXX_FLAGS -D__HIP_NO_HALF_CONVERSIONS__=1)
102+
list(APPEND HIP_CXX_FLAGS -DROCM_NO_WRAPPER_HEADER_WARNING)
99103
list(APPEND HIP_CXX_FLAGS -Wno-macro-redefined)
100104
list(APPEND HIP_CXX_FLAGS -Wno-inconsistent-missing-override)
101105
list(APPEND HIP_CXX_FLAGS -Wno-exceptions)

0 commit comments

Comments
 (0)