diff --git a/paddle/operators/math/math_function.cc b/paddle/operators/math/math_function.cc index 1a4829c49f7aae861f5c93a3be71c7f734e111b5..d4f12f0a106e077ac31aa37f46857b74e1e99b59 100644 --- a/paddle/operators/math/math_function.cc +++ b/paddle/operators/math/math_function.cc @@ -312,23 +312,12 @@ struct RowwiseAdd { PADDLE_ENFORCE_EQ(vector.numel(), size); PADDLE_ENFORCE_EQ(output->dims(), in_dims); - // auto in = framework::EigenMatrix::From(input); - // auto vec = framework::EigenVector::Flatten(vector); - // auto out = framework::EigenMatrix::From(*output); - // for (int64_t i = 0; i < in_dims[0]; ++i) { - // out.chip(i, 0) = in.chip(i, 0) + vec; - // } - - auto* in = input.data(); - auto* vec = vector.data(); - auto* out = output->data(); - - int64_t h = in_dims[0]; - int64_t w = in_dims[1]; - for (int64_t i = 0; i < h; ++i) { - for (int64_t j = 0; j < w; ++j) { - out[i * w + j] = in[i * w + j] + vec[j]; - } + auto in = framework::EigenMatrix::From(input); + auto vec = framework::EigenVector::Flatten(vector); + auto out = framework::EigenMatrix::From(*output); + + for (int64_t i = 0; i < in_dims[0]; ++i) { + out.chip(i, 0) = in.chip(i, 0) + vec; } } };