Skip to content

Commit

Permalink
minor change
Browse files Browse the repository at this point in the history
  • Loading branch information
jakpiase committed Apr 14, 2021
1 parent 782e25c commit bd69270
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions paddle/fluid/operators/reduce_ops/reduce_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -562,24 +562,23 @@ class ReduceGradOp : public framework::OperatorWithKernel {
auto input_data_type = OperatorWithKernel::IndicateVarDataType(
ctx, framework::GradVarName("Out"));

#ifdef PADDLE_WITH_MKLDNN
auto CanMKLDNNReduceGradBeUsed = [&]() {
auto dx_dims = ctx.Input<Tensor>("X")->dims();
if (ctx.Attr<bool>("reduce_all") ||
(ctx.Attr<std::vector<int>>("dim").size() == dx_dims.size()))
((int)ctx.Attr<std::vector<int>>("dim").size() == dx_dims.size()))
return true;

auto dy_dims = ctx.Input<Tensor>(framework::GradVarName("Out"))->dims();

// Subtensor must be on rightmost part of the bigger tensor
for (size_t i = 0; i < dy_dims.size(); ++i) {
for (int i = 0; i < dy_dims.size(); ++i) {
if (dx_dims[dx_dims.size() - dy_dims.size() + i] != dy_dims[i]) {
return false;
}
}
return true;
};

#ifdef PADDLE_WITH_MKLDNN
if (this->CanMKLDNNBeUsed(ctx, input_data_type) &&
CanMKLDNNReduceGradBeUsed()) {
return framework::OpKernelType(input_data_type, ctx.GetPlace(),
Expand Down

0 comments on commit bd69270

Please sign in to comment.