Skip to content

Commit 92c562b

Browse files
authored
Merge pull request #1 from PaddlePaddle/develop
Sync with origin
2 parents 5546716 + 643b6fa commit 92c562b

File tree

116 files changed

+4128
-1046
lines changed

Some content is hidden

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

116 files changed

+4128
-1046
lines changed

cmake/configure.cmake

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,26 @@ if(NOT CMAKE_CROSSCOMPILING)
6262
endif()
6363

6464
if(WIN32)
65-
# windows stupid compile option for all targets.
65+
# windows header option for all targets.
6666
add_definitions(-D_XKEYCHECK_H)
67+
# Use symbols instead of absolute path, reduce the cmake link command length.
68+
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
69+
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
70+
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
71+
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
72+
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1)
73+
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1)
74+
SET(CMAKE_C_RESPONSE_FILE_LINK_FLAG "@")
75+
SET(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "@")
76+
77+
# Specify the program to use when building static libraries
78+
SET(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> lib <TARGET> <LINK_FLAGS> <OBJECTS>")
79+
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> lib <TARGET> <LINK_FLAGS> <OBJECTS>")
80+
81+
# set defination for the dll export
82+
if (NOT MSVC)
83+
message(FATAL "Windows build only support msvc. Which was binded by the nvcc compiler of NVIDIA.")
84+
endif(NOT MSVC)
6785
endif(WIN32)
6886

6987
if(NOT WITH_GOLANG)

cmake/flags.cmake

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ endfunction()
2727

2828
CheckCompilerCXX11Flag()
2929
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
30-
3130
# safe_set_flag
3231
#
3332
# Set a compile flag only if compiler is support
@@ -71,6 +70,20 @@ macro(safe_set_nvflag flag_name)
7170
endif()
7271
endmacro()
7372

73+
macro(safe_set_static_flag) # set c_flags and cxx_flags to static or shared
74+
if (BUILD_SHARED_LIBS)
75+
return() # if build shared libs, the flags keep same with '/MD'
76+
endif(BUILD_SHARED_LIBS)
77+
foreach(flag_var
78+
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
79+
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
80+
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
81+
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
82+
if(${flag_var} MATCHES "/MD")
83+
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
84+
endif(${flag_var} MATCHES "/MD")
85+
endforeach(flag_var)
86+
endmacro()
7487

7588
CHECK_CXX_SYMBOL_EXISTS(UINT64_MAX "stdint.h" UINT64_MAX_EXISTS)
7689
if(NOT UINT64_MAX_EXISTS)
@@ -97,9 +110,13 @@ SET(CMAKE_EXTRA_INCLUDE_FILES "")
97110

98111
# Common flags. the compiler flag used for C/C++ sources whenever release or debug
99112
# Do not care if this flag is support for gcc.
113+
114+
# https://github.com/PaddlePaddle/Paddle/issues/12773
115+
if (NOT WIN32)
100116
set(COMMON_FLAGS
101117
-fPIC
102118
-fno-omit-frame-pointer
119+
-Werror
103120
-Wall
104121
-Wextra
105122
-Wnon-virtual-dtor
@@ -114,11 +131,6 @@ set(COMMON_FLAGS
114131
-Wno-error=terminate # Warning in PADDLE_ENFORCE
115132
)
116133

117-
# https://github.com/PaddlePaddle/Paddle/issues/12773
118-
if (NOT WIN32)
119-
list(APPEND COMMON_FLAGS -Werror)
120-
endif()
121-
122134
set(GPU_COMMON_FLAGS
123135
-fPIC
124136
-fno-omit-frame-pointer
@@ -133,30 +145,53 @@ set(GPU_COMMON_FLAGS
133145
-Wno-error=array-bounds # Warnings in Eigen::array
134146
)
135147

148+
else(NOT WIN32)
149+
set(COMMON_FLAGS
150+
"/w") #disable all warnings.
151+
set(GPU_COMMON_FLAGS
152+
"/w") #disable all warnings
153+
endif(NOT WIN32)
154+
136155
if (APPLE)
137156
if(NOT CMAKE_CROSSCOMPILING)
138157
# On Mac OS X build fat binaries with x86_64 architectures by default.
139158
set (CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for OSX" FORCE)
140159
endif()
141-
else()
160+
endif(APPLE)
161+
162+
if(LINUX)
142163
set(GPU_COMMON_FLAGS
143164
-Wall
144165
-Wextra
145166
-Werror
146167
${GPU_COMMON_FLAGS})
147-
endif()
168+
endif(LINUX)
148169

149170
if(UNIX AND NOT APPLE)
150171
# except apple from nix*Os family
151172
set(LINUX TRUE)
152173
endif(UNIX AND NOT APPLE)
153174

154-
155175
foreach(flag ${COMMON_FLAGS})
156176
safe_set_cflag(CMAKE_C_FLAGS ${flag})
157177
safe_set_cxxflag(CMAKE_CXX_FLAGS ${flag})
178+
158179
endforeach()
159180

160181
foreach(flag ${GPU_COMMON_FLAGS})
161182
safe_set_nvflag(${flag})
162183
endforeach()
184+
185+
if(WIN32)
186+
# windows build turn off warnings.
187+
safe_set_static_flag()
188+
foreach(flag_var
189+
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
190+
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
191+
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
192+
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
193+
if(${flag_var} MATCHES "/W3")
194+
string(REGEX REPLACE "/W3" "/w" ${flag_var} "${${flag_var}}")
195+
endif(${flag_var} MATCHES "/W3")
196+
endforeach(flag_var)
197+
endif(WIN32)

doc/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
add_custom_target(paddle_apis ALL
2-
DEPENDS paddle_v2_apis paddle_fluid_apis)
2+
DEPENDS paddle_v2_apis)
33

44
add_custom_target(paddle_docs ALL
55
DEPENDS paddle_v2_docs paddle_v2_docs_cn
6-
paddle_fluid_docs paddle_fluid_docs_cn
76
paddle_mobile_docs paddle_mobile_docs_cn)
87

98
add_subdirectory(v2)
10-
add_subdirectory(fluid)
119
add_subdirectory(mobile)

paddle/contrib/float16/float16_transpiler.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ def _adjust_input(self, skip=False):
102102
continue
103103
for input_arg in current_op.input_arg_names:
104104
if input_arg in self.input_map:
105-
current_op.rename_input(input_arg,
106-
self.input_map[input_arg])
105+
current_op._rename_input(input_arg,
106+
self.input_map[input_arg])
107107

108108
def _remove_unused_var(self):
109109
'''
@@ -187,7 +187,7 @@ def find_op(var):
187187
shape=var.shape,
188188
persistable=var.persistable)
189189
find_op(var)
190-
var.op.rename_output(var_name, tmp_var_name)
190+
var.op._rename_output(var_name, tmp_var_name)
191191
self.block._insert_op(
192192
i,
193193
type="cast",

paddle/fluid/API.spec

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,9 @@ paddle.fluid.Program.global_block ArgSpec(args=['self'], varargs=None, keywords=
66
paddle.fluid.Program.list_vars ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)
77
paddle.fluid.Program.parse_from_string ArgSpec(args=['binary_str'], varargs=None, keywords=None, defaults=None)
88
paddle.fluid.Program.to_string ArgSpec(args=['self', 'throw_on_error', 'with_details'], varargs=None, keywords=None, defaults=(False,))
9-
paddle.fluid.Operator.__init__ ArgSpec(args=['self', 'block', 'desc', 'type', 'inputs', 'outputs', 'attrs'], varargs=None, keywords=None, defaults=(None, None, None, None))
10-
paddle.fluid.Operator.all_attrs ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)
11-
paddle.fluid.Operator.attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
12-
paddle.fluid.Operator.attr_type ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
13-
paddle.fluid.Operator.block_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
14-
paddle.fluid.Operator.block_attr_id ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
15-
paddle.fluid.Operator.blocks_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
16-
paddle.fluid.Operator.blocks_attr_ids ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
17-
paddle.fluid.Operator.has_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
18-
paddle.fluid.Operator.has_kernel ArgSpec(args=['self', 'op_type'], varargs=None, keywords=None, defaults=None)
19-
paddle.fluid.Operator.input ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
20-
paddle.fluid.Operator.output ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
21-
paddle.fluid.Operator.rename_input ArgSpec(args=['self', 'old_name', 'new_name'], varargs=None, keywords=None, defaults=None)
22-
paddle.fluid.Operator.rename_output ArgSpec(args=['self', 'old_name', 'new_name'], varargs=None, keywords=None, defaults=None)
23-
paddle.fluid.Operator.set_attr ArgSpec(args=['self', 'name', 'val'], varargs=None, keywords=None, defaults=None)
24-
paddle.fluid.Operator.to_string ArgSpec(args=['self', 'throw_on_error'], varargs=None, keywords=None, defaults=None)
259
paddle.fluid.default_startup_program ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
2610
paddle.fluid.default_main_program ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
2711
paddle.fluid.program_guard ArgSpec(args=[], varargs='args', keywords='kwds', defaults=None)
28-
paddle.fluid.get_var ArgSpec(args=['name', 'program'], varargs=None, keywords=None, defaults=(None,))
2912
paddle.fluid.name_scope ArgSpec(args=[], varargs='args', keywords='kwds', defaults=None)
3013
paddle.fluid.Executor.__init__ ArgSpec(args=['self', 'place'], varargs=None, keywords=None, defaults=None)
3114
paddle.fluid.Executor.close ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)
@@ -170,6 +153,13 @@ paddle.fluid.layers.elementwise_mul ArgSpec(args=['x', 'y', 'out', 'axis', 'use_
170153
paddle.fluid.layers.elementwise_max ArgSpec(args=['x', 'y', 'out', 'axis', 'use_mkldnn', 'act', 'name'], varargs=None, keywords=None, defaults=(None, -1, False, None, None))
171154
paddle.fluid.layers.elementwise_min ArgSpec(args=['x', 'y', 'out', 'axis', 'use_mkldnn', 'act', 'name'], varargs=None, keywords=None, defaults=(None, -1, False, None, None))
172155
paddle.fluid.layers.elementwise_pow ArgSpec(args=['x', 'y', 'out', 'axis', 'use_mkldnn', 'act', 'name'], varargs=None, keywords=None, defaults=(None, -1, False, None, None))
156+
paddle.fluid.layers.uniform_random_batch_size_like ArgSpec(args=['input', 'shape', 'dtype', 'input_dim_idx', 'output_dim_idx', 'min', 'max', 'seed'], varargs=None, keywords=None, defaults=('float32', 0, 0, -1.0, 1.0, 0))
157+
paddle.fluid.layers.gaussian_random ArgSpec(args=['shape', 'mean', 'std', 'seed', 'dtype', 'use_mkldnn'], varargs=None, keywords=None, defaults=(0.0, 1.0, 0, 'float32', False))
158+
paddle.fluid.layers.sampling_id ArgSpec(args=['x', 'min', 'max', 'seed', 'dtype'], varargs=None, keywords=None, defaults=(0.0, 1.0, 0, 'float32'))
159+
paddle.fluid.layers.gaussian_random_batch_size_like ArgSpec(args=['input', 'shape', 'input_dim_idx', 'output_dim_idx', 'mean', 'std', 'seed', 'dtype'], varargs=None, keywords=None, defaults=(0, 0, 0.0, 1.0, 0, 'float32'))
160+
paddle.fluid.layers.sum ArgSpec(args=['x', 'use_mkldnn'], varargs=None, keywords=None, defaults=(False,))
161+
paddle.fluid.layers.slice ArgSpec(args=['input', 'axes', 'starts', 'ends'], varargs=None, keywords=None, defaults=None)
162+
paddle.fluid.layers.shape ArgSpec(args=['input'], varargs=None, keywords=None, defaults=None)
173163
paddle.fluid.layers.data ArgSpec(args=['name', 'shape', 'append_batch_size', 'dtype', 'lod_level', 'type', 'stop_gradient'], varargs=None, keywords=None, defaults=(True, 'float32', 0, VarType.LOD_TENSOR, True))
174164
paddle.fluid.layers.open_files ArgSpec(args=['filenames', 'shapes', 'lod_levels', 'dtypes', 'thread_num', 'buffer_size', 'pass_num', 'is_test'], varargs=None, keywords=None, defaults=(None, None, 1, None))
175165
paddle.fluid.layers.read_file ArgSpec(args=['reader'], varargs=None, keywords=None, defaults=None)
@@ -241,13 +231,6 @@ paddle.fluid.layers.logical_and ArgSpec(args=[], varargs='args', keywords='kwarg
241231
paddle.fluid.layers.logical_or ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
242232
paddle.fluid.layers.logical_xor ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
243233
paddle.fluid.layers.logical_not ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
244-
paddle.fluid.layers.uniform_random_batch_size_like ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
245-
paddle.fluid.layers.gaussian_random ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
246-
paddle.fluid.layers.sampling_id ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
247-
paddle.fluid.layers.gaussian_random_batch_size_like ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
248-
paddle.fluid.layers.sum ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
249-
paddle.fluid.layers.slice ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
250-
paddle.fluid.layers.shape ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
251234
paddle.fluid.layers.maxout ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
252235
paddle.fluid.layers.sigmoid ArgSpec(args=['x', 'name'], varargs=None, keywords=None, defaults=(None,))
253236
paddle.fluid.layers.logsigmoid ArgSpec(args=['x', 'name'], varargs=None, keywords=None, defaults=(None,))
@@ -286,7 +269,7 @@ paddle.fluid.layers.iou_similarity ArgSpec(args=[], varargs='args', keywords='kw
286269
paddle.fluid.layers.box_coder ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
287270
paddle.fluid.layers.polygon_box_transform ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)
288271
paddle.fluid.layers.accuracy ArgSpec(args=['input', 'label', 'k', 'correct', 'total'], varargs=None, keywords=None, defaults=(1, None, None))
289-
paddle.fluid.layers.auc ArgSpec(args=['input', 'label', 'curve', 'num_thresholds', 'topk'], varargs=None, keywords=None, defaults=('ROC', 4095, 1))
272+
paddle.fluid.layers.auc ArgSpec(args=['input', 'label', 'curve', 'num_thresholds', 'topk', 'slide_steps'], varargs=None, keywords=None, defaults=('ROC', 4095, 1, 1))
290273
paddle.fluid.layers.exponential_decay ArgSpec(args=['learning_rate', 'decay_steps', 'decay_rate', 'staircase'], varargs=None, keywords=None, defaults=(False,))
291274
paddle.fluid.layers.natural_exp_decay ArgSpec(args=['learning_rate', 'decay_steps', 'decay_rate', 'staircase'], varargs=None, keywords=None, defaults=(False,))
292275
paddle.fluid.layers.inverse_time_decay ArgSpec(args=['learning_rate', 'decay_steps', 'decay_rate', 'staircase'], varargs=None, keywords=None, defaults=(False,))
@@ -315,6 +298,7 @@ paddle.fluid.contrib.BeamSearchDecoder.early_stop ArgSpec(args=['self'], varargs
315298
paddle.fluid.contrib.BeamSearchDecoder.read_array ArgSpec(args=['self', 'init', 'is_ids', 'is_scores'], varargs=None, keywords=None, defaults=(False, False))
316299
paddle.fluid.contrib.BeamSearchDecoder.update_array ArgSpec(args=['self', 'array', 'value'], varargs=None, keywords=None, defaults=None)
317300
paddle.fluid.contrib.memory_usage ArgSpec(args=['program', 'batch_size'], varargs=None, keywords=None, defaults=None)
301+
paddle.fluid.contrib.op_freq_statistic ArgSpec(args=['program'], varargs=None, keywords=None, defaults=None)
318302
paddle.fluid.transpiler.DistributeTranspiler.__init__ ArgSpec(args=['self', 'config'], varargs=None, keywords=None, defaults=(None,))
319303
paddle.fluid.transpiler.DistributeTranspiler.get_pserver_program ArgSpec(args=['self', 'endpoint'], varargs=None, keywords=None, defaults=None)
320304
paddle.fluid.transpiler.DistributeTranspiler.get_pserver_programs ArgSpec(args=['self', 'endpoint'], varargs=None, keywords=None, defaults=None)

paddle/fluid/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ if(WITH_INFERENCE)
1313
# NOTE: please add subdirectory inference at last.
1414
add_subdirectory(inference)
1515
endif()
16+
17+
add_subdirectory(train)

paddle/fluid/framework/CMakeLists.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,10 @@ else()
150150
endif()
151151

152152
if (NOT WIN32)
153-
cc_library(parallel_executor SRCS parallel_executor.cc DEPS
154-
threaded_ssa_graph_executor scope_buffered_ssa_graph_executor
155-
graph graph_viz_pass multi_devices_graph_pass
156-
multi_devices_graph_print_pass multi_devices_graph_check_pass
157-
fast_threaded_ssa_graph_executor fuse_elewise_add_act_pass)
153+
cc_library(parallel_executor SRCS parallel_executor.cc DEPS
154+
threaded_ssa_graph_executor scope_buffered_ssa_graph_executor
155+
graph build_strategy
156+
fast_threaded_ssa_graph_executor)
158157
endif() # NOT WIN32
159158

160159
cc_library(prune SRCS prune.cc DEPS framework_proto)

paddle/fluid/framework/details/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,8 @@ cc_library(scope_buffered_ssa_graph_executor SRCS scope_buffered_ssa_graph_execu
5454
# device_context reduce_op_handle )
5555
cc_library(fast_threaded_ssa_graph_executor SRCS fast_threaded_ssa_graph_executor.cc
5656
DEPS fetch_op_handle ssa_graph_executor scope simple_threadpool device_context)
57+
58+
cc_library(build_strategy SRCS build_strategy.cc DEPS
59+
graph_viz_pass multi_devices_graph_pass
60+
multi_devices_graph_print_pass multi_devices_graph_check_pass
61+
fuse_elewise_add_act_pass)

0 commit comments

Comments
 (0)