未验证 提交 401c03fc 编写于 作者: C chengduo 提交者: GitHub

update reduce config (#18335)

test=release/1.5
上级 e0cb6712
...@@ -314,25 +314,23 @@ ParallelExecutor::ParallelExecutor(const std::vector<platform::Place> &places, ...@@ -314,25 +314,23 @@ ParallelExecutor::ParallelExecutor(const std::vector<platform::Place> &places,
member_->use_all_reduce_ = member_->use_all_reduce_ =
build_strategy.reduce_ == BuildStrategy::ReduceStrategy::kAllReduce; build_strategy.reduce_ == BuildStrategy::ReduceStrategy::kAllReduce;
member_->nranks_ = build_strategy.num_trainers_ * places.size(); member_->nranks_ = build_strategy.num_trainers_ * places.size();
if (!member_->use_all_reduce_ && member_->nranks_ == 1) {
LOG(INFO) << "If you set build_strategy.reduce with 'Reduce',"
"the number of places should be greater than 1.";
member_->build_strategy_.reduce_ =
BuildStrategy::ReduceStrategy::kAllReduce;
member_->use_all_reduce_ = true;
}
#if defined(PADDLE_WITH_CUDA) && defined(_WIN32) #if defined(PADDLE_WITH_CUDA) && defined(_WIN32)
if (member_->use_cuda_) { if (member_->use_cuda_) {
PADDLE_ENFORCE(places.size() == 1, "Windows can support Single GPU only."); PADDLE_ENFORCE(places.size() == 1, "Windows can support Single GPU only.");
} }
#endif #endif
if (!member_->use_all_reduce_) {
if (places.size() == 1) {
LOG(INFO) << "If you set build_strategy.reduce with 'Reduce',"
"the number of places should be greater than 1.";
member_->use_all_reduce_ = true;
}
}
LOG(INFO) << string::Sprintf( LOG(INFO) << string::Sprintf(
"The number of %s, which is used in ParallelExecutor, is %lu. And " "The number of %s, which is used in ParallelExecutor, is %lu. And "
"the Program will be copied %lu copies", "the Program will be copied %lu copies",
(member_->use_cuda_ ? "CUDAPlace" : "CPUPlace"), places.size(), (member_->use_cuda_ ? "CUDAPlace" : "CPUPlace"), places.size(),
places.size()); places.size());
// Step 1. Bcast the bcast_vars to devs. // Step 1. Bcast the bcast_vars to devs.
// Create local scopes // Create local scopes
if (local_scopes.empty()) { if (local_scopes.empty()) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册