diff --git a/paddle/fluid/operators/elementwise/elementwise_op_broadcast.cu.h b/paddle/fluid/operators/elementwise/elementwise_op_broadcast.cu.h index e743d43e47e52d88b0c38a872f4bee54900feb89..30aba42aeee110fb9423053973b59b1929f0075e 100644 --- a/paddle/fluid/operators/elementwise/elementwise_op_broadcast.cu.h +++ b/paddle/fluid/operators/elementwise/elementwise_op_broadcast.cu.h @@ -125,7 +125,7 @@ struct DimensionsTransform { std::vector &in_dims, DimVector &out, int i, int num) { for (int j = 1; j < num; ++j) { - equal = (in_dims[0][i] == in_dims[j][i]) ? true : false; + equal &= (in_dims[0][i] == in_dims[j][i]) ? true : false; } }; auto merge_sequential_one_dims = [](bool &equal, @@ -134,7 +134,7 @@ struct DimensionsTransform { equal = in_dims[0][i] == 1; if (equal) { for (int j = 1; j < num; ++j) { - equal = in_dims[j][i] == out[i]; + equal &= in_dims[j][i] == out[i]; } } }; diff --git a/paddle/pten/kernels/hybird/cuda/elementwise/elementwise.h b/paddle/pten/kernels/hybird/cuda/elementwise/elementwise.h index 9bcfa1d857ba74ad255fa2fe99b9137d5d843c54..0ef2ee2fdf1f48a102ac3bf8213193eec590952c 100644 --- a/paddle/pten/kernels/hybird/cuda/elementwise/elementwise.h +++ b/paddle/pten/kernels/hybird/cuda/elementwise/elementwise.h @@ -29,7 +29,7 @@ void LaunchElementwiseCudaKernel( std::vector dims_size; bool no_broadcast_flag = true; for (auto *in : ins) { - no_broadcast_flag = ins[0]->dims() == in->dims(); + no_broadcast_flag &= ins[0]->dims() == in->dims(); dims_size.emplace_back(in->dims().size()); } if (no_broadcast_flag) { diff --git a/paddle/pten/kernels/hybird/cuda/elementwise/elementwise_broadcast.cu.h b/paddle/pten/kernels/hybird/cuda/elementwise/elementwise_broadcast.cu.h index 258e8f410ebf3f5bdc5557307712d18372a28a02..ccdeb70002bfc849c619db032164978a4793686d 100644 --- a/paddle/pten/kernels/hybird/cuda/elementwise/elementwise_broadcast.cu.h +++ b/paddle/pten/kernels/hybird/cuda/elementwise/elementwise_broadcast.cu.h @@ -131,7 +131,7 @@ struct DimensionsTransform { int i, int num) { for (int j = 1; j < num; ++j) { - equal = (in_dims[0][i] == in_dims[j][i]) ? true : false; + equal &= (in_dims[0][i] == in_dims[j][i]) ? true : false; } }; auto merge_sequential_one_dims = [](bool &equal, @@ -142,7 +142,7 @@ struct DimensionsTransform { equal = in_dims[0][i] == 1; if (equal) { for (int j = 1; j < num; ++j) { - equal = in_dims[j][i] == out[i]; + equal &= in_dims[j][i] == out[i]; } } };