diff --git a/paddle/operators/parallel_do_op.cc b/paddle/operators/parallel_do_op.cc index f9cf40bb57f0017bdf7665dc9c6eee3df74d730c..67f9854c02fa92d0141463088915e720733306fb 100644 --- a/paddle/operators/parallel_do_op.cc +++ b/paddle/operators/parallel_do_op.cc @@ -314,12 +314,12 @@ class ParallelDoGradOpDescMaker : public framework::SingleGradOpDescMaker { std::vector og_names; for (auto &og_name : this->OutputGrad(output_param)) { if (all_inputs_in_grad_blocks.count(og_name) != 0) { - // there is some gradient operator needs the og, make this og as the - // input of parallel.do - // if there is no operator need this og, just do not make this og as - // input. + // there are some gradient operators who need the OG. So make this + // OG as an input of parallel.do og_names.push_back(og_name); } + // else, there is no operator who need the OG. Do not use this OG as + // an input } grad->SetInput(framework::GradVarName(output_param), og_names); }