Skip to content

Commit e31aef9

Browse files
committed
Merge branch 'develop' into fc500110-bert_test
test=develop
2 parents 353b5f0 + a6910f9 commit e31aef9

File tree

165 files changed

+7445
-2508
lines changed

Some content is hidden

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

165 files changed

+7445
-2508
lines changed

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,3 @@ add_subdirectory(paddle)
276276
if(WITH_PYTHON)
277277
add_subdirectory(python)
278278
endif()
279-
280-
if(WITH_DOC)
281-
find_package(Sphinx REQUIRED)
282-
find_python_module(recommonmark REQUIRED)
283-
add_subdirectory(doc)
284-
endif()

Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@ RUN /bin/bash -c 'if [[ -n ${UBUNTU_MIRROR} ]]; then sed -i 's#http://archive.ub
1111
# ENV variables
1212
ARG WITH_GPU
1313
ARG WITH_AVX
14-
ARG WITH_DOC
1514

1615
ENV WOBOQ OFF
1716
ENV WITH_GPU=${WITH_GPU:-ON}
1817
ENV WITH_AVX=${WITH_AVX:-ON}
19-
ENV WITH_DOC=${WITH_DOC:-OFF}
2018

2119
ENV HOME /root
2220
# Add bash enhancements

cmake/FindSphinx.cmake

Lines changed: 0 additions & 147 deletions
This file was deleted.

cmake/generic.cmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ function(cc_test TARGET_NAME)
388388
endif()
389389
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cpu_deterministic=true)
390390
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_init_allocated_mem=true)
391+
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_limit_of_tmp_allocation=4294967296) # 4G
391392
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cudnn_deterministic=true)
392393
# No unit test should exceed 10 minutes.
393394
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 600)
@@ -460,6 +461,7 @@ function(nv_test TARGET_NAME)
460461
endif()
461462
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cpu_deterministic=true)
462463
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_init_allocated_mem=true)
464+
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_limit_of_tmp_allocation=4294967296) # 4G
463465
set_property(TEST ${TARGET_NAME} PROPERTY ENVIRONMENT FLAGS_cudnn_deterministic=true)
464466
endif()
465467
endfunction(nv_test)
@@ -708,9 +710,10 @@ function(py_test TARGET_NAME)
708710
set(oneValueArgs "")
709711
set(multiValueArgs SRCS DEPS ARGS ENVS)
710712
cmake_parse_arguments(py_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
713+
711714
add_test(NAME ${TARGET_NAME}
712715
COMMAND ${CMAKE_COMMAND} -E env FLAGS_init_allocated_mem=true FLAGS_cudnn_deterministic=true
713-
FLAGS_cpu_deterministic=true
716+
FLAGS_cpu_deterministic=true FLAGS_limit_of_tmp_allocation=4294967296 # 4G
714717
PYTHONPATH=${PADDLE_BINARY_DIR}/python ${py_test_ENVS}
715718
${PYTHON_EXECUTABLE} -u ${py_test_SRCS} ${py_test_ARGS}
716719
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})

paddle/fluid/API.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ paddle.fluid.initializer.BilinearInitializer.__init__ ArgSpec(args=['self'], var
6767
paddle.fluid.initializer.MSRAInitializer.__init__ ArgSpec(args=['self', 'uniform', 'fan_in', 'seed'], varargs=None, keywords=None, defaults=(True, None, 0))
6868
paddle.fluid.initializer.force_init_on_cpu ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
6969
paddle.fluid.initializer.init_on_cpu ArgSpec(args=[], varargs='args', keywords='kwds', defaults=None)
70+
paddle.fluid.initializer.NumpyArrayInitializer.__init__ ArgSpec(args=['self', 'value'], varargs=None, keywords=None, defaults=None)
7071
paddle.fluid.layers.fc ArgSpec(args=['input', 'size', 'num_flatten_dims', 'param_attr', 'bias_attr', 'act', 'is_test', 'name'], varargs=None, keywords=None, defaults=(1, None, None, None, False, None))
7172
paddle.fluid.layers.embedding ArgSpec(args=['input', 'size', 'is_sparse', 'is_distributed', 'padding_idx', 'param_attr', 'dtype'], varargs=None, keywords=None, defaults=(False, False, None, None, 'float32'))
7273
paddle.fluid.layers.dynamic_lstm ArgSpec(args=['input', 'size', 'h_0', 'c_0', 'param_attr', 'bias_attr', 'use_peepholes', 'is_reverse', 'gate_activation', 'cell_activation', 'candidate_activation', 'dtype', 'name'], varargs=None, keywords=None, defaults=(None, None, None, None, True, False, 'sigmoid', 'tanh', 'tanh', 'float32', None))
@@ -121,7 +122,7 @@ paddle.fluid.layers.transpose ArgSpec(args=['x', 'perm', 'name'], varargs=None,
121122
paddle.fluid.layers.im2sequence ArgSpec(args=['input', 'filter_size', 'stride', 'padding', 'input_image_size', 'out_stride', 'name'], varargs=None, keywords=None, defaults=(1, 1, 0, None, 1, None))
122123
paddle.fluid.layers.nce ArgSpec(args=['input', 'label', 'num_total_classes', 'sample_weight', 'param_attr', 'bias_attr', 'num_neg_samples', 'name', 'sampler', 'custom_dist', 'seed', 'is_sparse'], varargs=None, keywords=None, defaults=(None, None, None, None, None, 'uniform', None, 0, False))
123124
paddle.fluid.layers.hsigmoid ArgSpec(args=['input', 'label', 'num_classes', 'param_attr', 'bias_attr', 'name', 'path_table', 'path_code', 'is_custom', 'is_sparse'], varargs=None, keywords=None, defaults=(None, None, None, None, None, False, False))
124-
paddle.fluid.layers.beam_search ArgSpec(args=['pre_ids', 'pre_scores', 'ids', 'scores', 'beam_size', 'end_id', 'level', 'name'], varargs=None, keywords=None, defaults=(0, None))
125+
paddle.fluid.layers.beam_search ArgSpec(args=['pre_ids', 'pre_scores', 'ids', 'scores', 'beam_size', 'end_id', 'level', 'is_accumulated', 'name'], varargs=None, keywords=None, defaults=(0, True, None))
125126
paddle.fluid.layers.row_conv ArgSpec(args=['input', 'future_context_size', 'param_attr', 'act'], varargs=None, keywords=None, defaults=(None, None))
126127
paddle.fluid.layers.multiplex ArgSpec(args=['inputs', 'index'], varargs=None, keywords=None, defaults=None)
127128
paddle.fluid.layers.layer_norm ArgSpec(args=['input', 'scale', 'shift', 'begin_norm_axis', 'epsilon', 'param_attr', 'bias_attr', 'act', 'name'], varargs=None, keywords=None, defaults=(True, True, 1, 1e-05, None, None, None, None))
@@ -212,6 +213,7 @@ paddle.fluid.layers.bilinear_tensor_product ArgSpec(args=['x', 'y', 'size', 'act
212213
paddle.fluid.layers.merge_selected_rows ArgSpec(args=['x', 'name'], varargs=None, keywords=None, defaults=(None,))
213214
paddle.fluid.layers.get_tensor_from_selected_rows ArgSpec(args=['x', 'name'], varargs=None, keywords=None, defaults=(None,))
214215
paddle.fluid.layers.lstm ArgSpec(args=['input', 'init_h', 'init_c', 'max_len', 'hidden_size', 'num_layers', 'dropout_prob', 'is_bidirec', 'is_test', 'name', 'default_initializer', 'seed'], varargs=None, keywords=None, defaults=(0.0, False, False, None, None, -1))
216+
paddle.fluid.layers.shuffle_channel ArgSpec(args=['x', 'group', 'name'], varargs=None, keywords=None, defaults=(None,))
215217
paddle.fluid.layers.py_func ArgSpec(args=['func', 'x', 'out', 'backward_func', 'skip_vars_in_backward_input'], varargs=None, keywords=None, defaults=(None, None))
216218
paddle.fluid.layers.psroi_pool ArgSpec(args=['input', 'rois', 'output_channels', 'spatial_scale', 'pooled_height', 'pooled_width', 'name'], varargs=None, keywords=None, defaults=(None,))
217219
paddle.fluid.layers.teacher_student_sigmoid_loss ArgSpec(args=['input', 'label', 'soft_max_up_bound', 'soft_max_lower_bound'], varargs=None, keywords=None, defaults=(15.0, -15.0))
@@ -358,6 +360,7 @@ paddle.fluid.contrib.QuantizeTranspiler.__init__ ArgSpec(args=['self', 'weight_b
358360
paddle.fluid.contrib.QuantizeTranspiler.convert_to_int8 ArgSpec(args=['self', 'program', 'place', 'scope'], varargs=None, keywords=None, defaults=(None,))
359361
paddle.fluid.contrib.QuantizeTranspiler.freeze_program ArgSpec(args=['self', 'program', 'place', 'fuse_bn', 'scope'], varargs=None, keywords=None, defaults=(False, None))
360362
paddle.fluid.contrib.QuantizeTranspiler.training_transpile ArgSpec(args=['self', 'program', 'startup_program'], varargs=None, keywords=None, defaults=(None, None))
363+
paddle.fluid.contrib.reader.ctr_reader.ctr_reader ArgSpec(args=['feed_dict', 'file_type', 'file_format', 'dense_slot_index', 'sparse_slot_index', 'capacity', 'thread_num', 'batch_size', 'file_list', 'slots', 'name'], varargs=None, keywords=None, defaults=(None,))
361364
paddle.fluid.contrib.build_compressor ArgSpec(args=['place', 'data_reader', 'data_feeder', 'scope', 'metrics', 'epoch', 'config'], varargs=None, keywords=None, defaults=(None, None, None, None, None, None, None))
362365
paddle.fluid.contrib.CompressPass.__init__ ArgSpec(args=['self', 'place', 'data_reader', 'data_feeder', 'scope', 'metrics', 'epoch', 'program_exe'], varargs=None, keywords=None, defaults=(None, None, None, None, None, None, None))
363366
paddle.fluid.contrib.CompressPass.add_strategy ArgSpec(args=['self', 'strategy'], varargs=None, keywords=None, defaults=None)

paddle/fluid/framework/CMakeLists.txt

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
#windows treat symbolic file as a real file, which is different with unix
32
#We create a hidden file and compile it instead of origin source file.
43
function(windows_symbolic TARGET)
@@ -129,12 +128,6 @@ cc_test(version_test SRCS version_test.cc DEPS version)
129128

130129
cc_library(proto_desc SRCS var_desc.cc op_desc.cc block_desc.cc program_desc.cc DEPS shape_inference op_info operator glog version)
131130

132-
if(WITH_NGRAPH)
133-
cc_library(ngraph_bridge SRCS ngraph_bridge.cc DEPS operator framework_proto ngraph)
134-
cc_library(ngraph_operator SRCS ngraph_operator.cc DEPS ngraph_bridge operator op_info device_context tensor scope glog
135-
shape_inference data_transform lod_tensor profiler)
136-
endif(WITH_NGRAPH)
137-
138131
cc_library(op_registry SRCS op_registry.cc DEPS op_proto_maker op_info operator glog proto_desc)
139132
nv_test(op_registry_test SRCS op_registry_test.cc DEPS op_registry)
140133

@@ -171,13 +164,12 @@ if(WITH_DISTRIBUTE)
171164

172165
set(DISTRIBUTE_COMPILE_FLAGS "-Wno-non-virtual-dtor -Wno-error=non-virtual-dtor -Wno-error=delete-non-virtual-dtor")
173166
set_source_files_properties(executor.cc PROPERTIES COMPILE_FLAGS ${DISTRIBUTE_COMPILE_FLAGS})
174-
175167
else()
176-
if(WITH_NGRAPH)
177-
cc_library(executor SRCS executor.cc DEPS op_registry device_context scope framework_proto glog lod_rank_table feed_fetch_method graph_to_program_pass ngraph_operator variable_helper)
178-
else(WITH_NGRAPH)
168+
if (WITH_NGRAPH)
169+
cc_library(executor SRCS executor.cc DEPS op_registry device_context scope framework_proto glog lod_rank_table feed_fetch_method graph_to_program_pass variable_helper ngraph_engine)
170+
else ()
179171
cc_library(executor SRCS executor.cc DEPS op_registry device_context scope framework_proto glog lod_rank_table feed_fetch_method graph_to_program_pass variable_helper)
180-
endif(WITH_NGRAPH)
172+
endif()
181173
cc_test(test_naive_executor SRCS naive_executor_test.cc DEPS naive_executor elementwise_add_op)
182174
endif()
183175

@@ -214,3 +206,24 @@ endif (NOT WIN32)
214206

215207
cc_library(dlpack_tensor SRCS dlpack_tensor.cc DEPS tensor dlpack)
216208
cc_test(dlpack_tensor_test SRCS dlpack_tensor_test.cc DEPS dlpack_tensor glog)
209+
210+
# Get the current working branch
211+
execute_process(
212+
COMMAND git rev-parse --abbrev-ref HEAD
213+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
214+
OUTPUT_VARIABLE PADDLE_BRANCH
215+
OUTPUT_STRIP_TRAILING_WHITESPACE
216+
)
217+
218+
# Get the latest abbreviated commit hash of the working branch
219+
execute_process(
220+
COMMAND git log -1 --format=%h
221+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
222+
OUTPUT_VARIABLE PADDLE_COMMIT
223+
OUTPUT_STRIP_TRAILING_WHITESPACE
224+
)
225+
226+
message(STATUS "commit: ${PADDLE_COMMIT}")
227+
message(STATUS "branch: ${PADDLE_BRANCH}")
228+
229+
configure_file(commit.h.in commit.h)

paddle/fluid/framework/commit.h.in

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#pragma once
2+
3+
#include <string>
4+
5+
namespace paddle {
6+
namespace framework {
7+
8+
static std::string paddle_commit() {
9+
return "@PADDLE_COMMIT@";
10+
}
11+
12+
static std::string paddle_compile_branch() {
13+
return "@PADDLE_BRANCH@";
14+
}
15+
16+
static std::string paddle_version() {
17+
return "@PADDLE_VERSION@";
18+
}
19+
20+
} // namespace framework
21+
} // namespace paddle

paddle/fluid/framework/details/build_strategy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ struct BuildStrategy {
9191
int num_trainers_{1};
9292
int trainer_id_{0};
9393
std::vector<std::string> trainers_endpoints_;
94-
bool remove_unnecessary_lock_{false};
94+
bool remove_unnecessary_lock_{true};
9595

9696
// NOTE:
9797
// Before you add new options, think if it's a general strategy that works

paddle/fluid/framework/details/execution_strategy.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ struct ExecutionStrategy {
2525
size_t num_threads_{0};
2626
bool use_cuda_{true};
2727
bool allow_op_delay_{false};
28+
// If we set this to 1, we will delete all variables when finish a batch. and
29+
// this will loss 15%+ performance.
30+
// Please be aware about this parameters.
2831
size_t num_iteration_per_drop_scope_{1};
2932
ExecutorType type_{kDefault};
3033
bool dry_run_{false};

paddle/fluid/framework/executor.cc

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ limitations under the License. */
2727
#include "paddle/fluid/platform/profiler.h"
2828

2929
#ifdef PADDLE_WITH_NGRAPH
30-
#include "paddle/fluid/framework/ngraph_operator.h"
30+
#include "paddle/fluid/operators/ngraph/ngraph_engine.h"
3131
#endif
3232

3333
DECLARE_bool(benchmark);
@@ -133,24 +133,6 @@ static void DeleteUnusedTensors(
133133
}
134134
}
135135

136-
static void EnableFusedOp(ExecutorPrepareContext* ctx) {
137-
#ifdef PADDLE_WITH_NGRAPH
138-
VLOG(3) << "use_ngraph=True";
139-
auto intervals = NgraphOperator::NgraphOpIntervals(&ctx->ops_);
140-
for (auto& interval : intervals) {
141-
auto* ng_op = new NgraphOperator(ctx->prog_, ctx->block_id_, interval.at(0),
142-
interval.at(1));
143-
*interval[0] = std::unique_ptr<OperatorBase>(ng_op);
144-
}
145-
for (auto it = intervals.rbegin(); it != intervals.rend(); ++it) {
146-
ctx->ops_.erase(it->at(0) + 1, it->at(1));
147-
}
148-
#else
149-
LOG(WARNING)
150-
<< "'NGRAPH' is not supported, Please re-compile with WITH_NGRAPH option";
151-
#endif
152-
}
153-
154136
Executor::Executor(const platform::Place& place) : place_(place) {}
155137

156138
void Executor::Close() {
@@ -204,6 +186,9 @@ void Executor::Run(const ProgramDesc& pdesc, Scope* scope, int block_id,
204186
bool create_local_scope, bool create_vars) {
205187
platform::RecordBlock b(block_id);
206188
if (FLAGS_use_mkldnn) EnableMKLDNN(pdesc);
189+
#ifdef PADDLE_WITH_NGRAPH
190+
if (FLAGS_use_ngraph) operators::NgraphEngine::EnableNgraph(pdesc);
191+
#endif
207192
auto ctx = Prepare(pdesc, block_id);
208193
RunPreparedContext(ctx.get(), scope, create_local_scope, create_vars);
209194
}
@@ -379,7 +364,6 @@ std::unique_ptr<ExecutorPrepareContext> Executor::Prepare(
379364
for (auto& op_desc : block.AllOps()) {
380365
ctx->ops_.push_back(OpRegistry::CreateOp(*op_desc));
381366
}
382-
if (FLAGS_use_ngraph) EnableFusedOp(ctx.get());
383367
return ctx;
384368
}
385369

0 commit comments

Comments
 (0)