diff --git a/paddle/phi/kernels/full_kernel.h b/paddle/phi/kernels/full_kernel.h index c7b1f9af0e3191ec217d2907677ff34edebc551b..05929ba83f3b8e61c79358874a0e20064c981038 100644 --- a/paddle/phi/kernels/full_kernel.h +++ b/paddle/phi/kernels/full_kernel.h @@ -17,7 +17,6 @@ #include "paddle/phi/common/scalar.h" #include "paddle/phi/common/scalar_array.h" #include "paddle/phi/core/dense_tensor.h" -#include "paddle/phi/core/selected_rows.h" #include "paddle/phi/infermeta/nullary.h" #include "paddle/phi/kernels/empty_kernel.h" @@ -31,13 +30,6 @@ void FullKernel(const Context& dev_ctx, DataType dtype, DenseTensor* out); -template -void FullSR(const Context& dev_ctx, - const ScalarArray& shape, - const Scalar& val, - DataType dtype, - SelectedRows* out); - template void FullLikeKernel(const Context& dev_ctx, const DenseTensor& x, diff --git a/paddle/phi/kernels/scale_kernel.h b/paddle/phi/kernels/scale_kernel.h index b395834369851e7491ecb592895dd5b9ad13aabd..22e6efb03ac2d113180ab6010e3e28736c928373 100644 --- a/paddle/phi/kernels/scale_kernel.h +++ b/paddle/phi/kernels/scale_kernel.h @@ -16,7 +16,6 @@ limitations under the License. */ #include "paddle/phi/common/scalar.h" #include "paddle/phi/core/dense_tensor.h" -#include "paddle/phi/core/selected_rows.h" #include "paddle/phi/infermeta/unary.h" #include "paddle/phi/kernels/empty_kernel.h" namespace phi { @@ -29,14 +28,6 @@ void ScaleKernel(const Context& dev_ctx, bool bias_after_scale, DenseTensor* out); -template -void ScaleSR(const Context& dev_ctx, - const SelectedRows& x, - const Scalar& scale, - float bias, - bool bias_after_scale, - SelectedRows* out); - template DenseTensor Scale(const Context& dev_ctx, const DenseTensor& x, diff --git a/paddle/phi/kernels/selected_rows/full_kernel.cc b/paddle/phi/kernels/selected_rows/full_kernel.cc index 02231867fdd35cc8db4359fa3cc31d6236229afc..39fd009cd6586bd7413e9d215607603f5d0d2b0a 100644 --- a/paddle/phi/kernels/selected_rows/full_kernel.cc +++ b/paddle/phi/kernels/selected_rows/full_kernel.cc @@ -12,34 +12,37 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -#include "paddle/phi/kernels/full_kernel.h" +#include "paddle/phi/kernels/selected_rows/full_kernel.h" #include "paddle/phi/backends/cpu/cpu_context.h" #if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) #include "paddle/phi/backends/gpu/gpu_context.h" #endif #include "paddle/phi/core/kernel_registry.h" +#include "paddle/phi/kernels/full_kernel.h" #include "paddle/phi/common/bfloat16.h" #include "paddle/phi/common/complex.h" namespace phi { +namespace sr { template -void FullSR(const Context& dev_ctx, - const ScalarArray& shape, - const Scalar& val, - DataType dtype, - SelectedRows* out) { +void FullKernel(const Context& dev_ctx, + const ScalarArray& shape, + const Scalar& val, + DataType dtype, + SelectedRows* out) { phi::FullKernel(dev_ctx, shape, val, dtype, out->mutable_value()); } +} // namespace sr } // namespace phi PD_REGISTER_KERNEL(full_sr, CPU, ALL_LAYOUT, - phi::FullSR, + phi::sr::FullKernel, float, double, uint8_t, @@ -56,7 +59,7 @@ PD_REGISTER_KERNEL(full_sr, PD_REGISTER_KERNEL(full_sr, GPU, ALL_LAYOUT, - phi::FullSR, + phi::sr::FullKernel, float, double, uint8_t, diff --git a/paddle/phi/kernels/selected_rows/full_kernel.h b/paddle/phi/kernels/selected_rows/full_kernel.h new file mode 100644 index 0000000000000000000000000000000000000000..d84ddcc0d3f63bdc95db97a933f53076baa8a02c --- /dev/null +++ b/paddle/phi/kernels/selected_rows/full_kernel.h @@ -0,0 +1,32 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "paddle/phi/common/scalar.h" +#include "paddle/phi/common/scalar_array.h" +#include "paddle/phi/core/selected_rows.h" + +namespace phi { +namespace sr { + +template +void FullKernel(const Context& dev_ctx, + const ScalarArray& shape, + const Scalar& val, + DataType dtype, + SelectedRows* out); + +} // namespace sr +} // namespace phi diff --git a/paddle/phi/kernels/selected_rows/scale_kernel.cc b/paddle/phi/kernels/selected_rows/scale_kernel.cc index 094b6f4d12022be07910bac68f09d201040b364a..38a0cb75101b7ea5e3f423aa997e003977c56030 100644 --- a/paddle/phi/kernels/selected_rows/scale_kernel.cc +++ b/paddle/phi/kernels/selected_rows/scale_kernel.cc @@ -12,21 +12,23 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -#include "paddle/phi/kernels/scale_kernel.h" +#include "paddle/phi/kernels/selected_rows/scale_kernel.h" #include "paddle/phi/backends/cpu/cpu_context.h" #include "paddle/phi/backends/gpu/gpu_context.h" #include "paddle/phi/common/bfloat16.h" #include "paddle/phi/core/kernel_registry.h" +#include "paddle/phi/kernels/scale_kernel.h" namespace phi { +namespace sr { template -void ScaleSR(const Context& dev_ctx, - const SelectedRows& x, - const Scalar& scale, - float bias, - bool bias_after_scale, - SelectedRows* out) { +void ScaleKernel(const Context& dev_ctx, + const SelectedRows& x, + const Scalar& scale, + float bias, + bool bias_after_scale, + SelectedRows* out) { if (x.value().Holder() != out->value().Holder() || x.value().data() != out->value().data()) { out->set_rows(x.rows()); @@ -36,12 +38,13 @@ void ScaleSR(const Context& dev_ctx, dev_ctx, x.value(), scale, bias, bias_after_scale, out->mutable_value()); } +} // namespace sr } // namespace phi PD_REGISTER_KERNEL(scale_sr, CPU, ALL_LAYOUT, - phi::ScaleSR, + phi::sr::ScaleKernel, float, double, phi::dtype::bfloat16, @@ -55,7 +58,7 @@ PD_REGISTER_KERNEL(scale_sr, PD_REGISTER_KERNEL(scale_sr, GPU, ALL_LAYOUT, - phi::ScaleSR, + phi::sr::ScaleKernel, float, double, phi::dtype::float16, diff --git a/paddle/phi/kernels/selected_rows/scale_kernel.h b/paddle/phi/kernels/selected_rows/scale_kernel.h new file mode 100644 index 0000000000000000000000000000000000000000..85c2c4ddff0333cdd0603f2fb4235b17bbdaffad --- /dev/null +++ b/paddle/phi/kernels/selected_rows/scale_kernel.h @@ -0,0 +1,32 @@ +/* Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#pragma once + +#include "paddle/phi/common/scalar.h" +#include "paddle/phi/core/selected_rows.h" + +namespace phi { +namespace sr { + +template +void ScaleKernel(const Context& dev_ctx, + const SelectedRows& x, + const Scalar& scale, + float bias, + bool bias_after_scale, + SelectedRows* out); + +} // namespace sr +} // namespace phi diff --git a/paddle/phi/kernels/selected_rows/uniform_random_kernel.cc b/paddle/phi/kernels/selected_rows/uniform_random_kernel.cc index 881180b71b151aa48a16dcd15871d4a7cd656fb7..b3dd1d1b7d2a025a80123f480a9deeb0f7ca5932 100644 --- a/paddle/phi/kernels/selected_rows/uniform_random_kernel.cc +++ b/paddle/phi/kernels/selected_rows/uniform_random_kernel.cc @@ -12,22 +12,27 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -#include "paddle/phi/kernels/uniform_random_kernel.h" +#include "paddle/phi/kernels/selected_rows/uniform_random_kernel.h" + +#include "paddle/phi/backends/cpu/cpu_context.h" +#include "paddle/phi/backends/gpu/gpu_context.h" #include "paddle/phi/core/kernel_registry.h" +#include "paddle/phi/kernels/uniform_random_kernel.h" namespace phi { +namespace sr { template -void UniformRandomRawSRKernel(const Context& dev_ctx, - const ScalarArray& shape, - DataType dtype, - float min, - float max, - int seed, - int diag_num, - int diag_step, - float diag_val, - SelectedRows* out) { +void UniformRandomRawKernel(const Context& dev_ctx, + const ScalarArray& shape, + DataType dtype, + float min, + float max, + int seed, + int diag_num, + int diag_step, + float diag_val, + SelectedRows* out) { phi::UniformRandomRawKernel(dev_ctx, shape, dtype, @@ -41,23 +46,24 @@ void UniformRandomRawSRKernel(const Context& dev_ctx, } template -void UniformRandomSRKernel(const Context& dev_ctx, - const ScalarArray& shape, - DataType dtype, - float min, - float max, - int seed, - SelectedRows* out) { +void UniformRandomKernel(const Context& dev_ctx, + const ScalarArray& shape, + DataType dtype, + float min, + float max, + int seed, + SelectedRows* out) { phi::UniformRandomKernel( dev_ctx, shape, dtype, min, max, seed, out->mutable_value()); } +} // namespace sr } // namespace phi PD_REGISTER_KERNEL(uniform_random_raw_sr, CPU, ALL_LAYOUT, - phi::UniformRandomRawSRKernel, + phi::sr::UniformRandomRawKernel, float, double, phi::dtype::bfloat16) {} @@ -65,7 +71,7 @@ PD_REGISTER_KERNEL(uniform_random_raw_sr, PD_REGISTER_KERNEL(uniform_random_sr, CPU, ALL_LAYOUT, - phi::UniformRandomSRKernel, + phi::sr::UniformRandomKernel, float, double, phi::dtype::bfloat16) {} @@ -75,14 +81,14 @@ PD_REGISTER_KERNEL(uniform_random_sr, PD_REGISTER_KERNEL(uniform_random_raw_sr, GPU, ALL_LAYOUT, - phi::UniformRandomRawSRKernel, + phi::sr::UniformRandomRawKernel, float, double) {} PD_REGISTER_KERNEL(uniform_random_sr, GPU, ALL_LAYOUT, - phi::UniformRandomSRKernel, + phi::sr::UniformRandomKernel, float, double) {} #endif diff --git a/paddle/phi/kernels/selected_rows/uniform_random_kernel.h b/paddle/phi/kernels/selected_rows/uniform_random_kernel.h new file mode 100644 index 0000000000000000000000000000000000000000..aee7a4c7aaf62d9250246f326ca009268af92d5e --- /dev/null +++ b/paddle/phi/kernels/selected_rows/uniform_random_kernel.h @@ -0,0 +1,45 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "paddle/phi/common/scalar_array.h" +#include "paddle/phi/core/selected_rows.h" + +namespace phi { +namespace sr { + +template +void UniformRandomRawKernel(const Context& dev_ctx, + const ScalarArray& shape, + DataType dtype, + float min, + float max, + int seed, + int diag_num, + int diag_step, + float diag_val, + SelectedRows* out); + +template +void UniformRandomKernel(const Context& dev_ctx, + const ScalarArray& shape, + DataType dtype, + float min, + float max, + int seed, + SelectedRows* out); + +} // namespace sr +} // namespace phi diff --git a/paddle/phi/kernels/uniform_random_kernel.h b/paddle/phi/kernels/uniform_random_kernel.h index 5bba127278541e61b142dbeb7d00f10ed3f8437b..36ce4c3f9eef58a55d41e0230c3ebfc3e768e6b3 100644 --- a/paddle/phi/kernels/uniform_random_kernel.h +++ b/paddle/phi/kernels/uniform_random_kernel.h @@ -17,7 +17,6 @@ #include "paddle/phi/common/scalar_array.h" #include "paddle/phi/core/dense_tensor.h" #include "paddle/phi/core/device_context.h" -#include "paddle/phi/core/selected_rows.h" namespace phi { @@ -42,25 +41,4 @@ void UniformRandomKernel(const Context& dev_ctx, int seed, DenseTensor* out); -template -void UniformRandomRawSRKernel(const Context& dev_ctx, - const ScalarArray& shape, - DataType dtype, - float min, - float max, - int seed, - int diag_num, - int diag_step, - float diag_val, - SelectedRows* out); - -template -void UniformRandomSRKernel(const Context& dev_ctx, - const ScalarArray& shape, - DataType dtype, - float min, - float max, - int seed, - SelectedRows* out); - } // namespace phi