Skip to content

Commit 28c56d7

Browse files
authored
[PHI decoupling] remove fluid/framework/generator.h from phi (#47822)
* remove fluid/framework/generator.h from phi * fix PR-CI-Kunlun-KP-Build fail
1 parent 60ec310 commit 28c56d7

File tree

9 files changed

+53
-18
lines changed

9 files changed

+53
-18
lines changed

paddle/phi/kernels/cpu/class_center_sample_kernel.cc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
#include <set>
1717
#include <vector>
1818

19-
#include "paddle/fluid/framework/generator.h"
2019
#include "paddle/phi/backends/cpu/cpu_context.h"
20+
#include "paddle/phi/core/generator.h"
2121
#include "paddle/phi/core/kernel_registry.h"
2222

2323
namespace phi {
@@ -83,7 +83,13 @@ void ClassCenterSampleKernel(const Context& dev_ctx,
8383
seed = rnd();
8484
}
8585
std::uniform_int_distribution<T> dist(0, num_classes - 1);
86-
auto engine = paddle::framework::GetCPURandomEngine(seed);
86+
std::shared_ptr<std::mt19937_64> engine;
87+
if (seed) {
88+
engine = std::make_shared<std::mt19937_64>();
89+
engine->seed(seed);
90+
} else {
91+
engine = dev_ctx.GetGenerator()->GetCPUEngine();
92+
}
8793
// sample negative class center randomly
8894
while (unique_label.size() < static_cast<size_t>(num_samples)) {
8995
T neg = dist(*engine);

paddle/phi/kernels/cpu/dropout_kernel.cc

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#include "paddle/phi/kernels/dropout_kernel.h"
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/phi/backends/cpu/cpu_context.h"
18+
#include "paddle/phi/core/generator.h"
1919
#include "paddle/phi/core/kernel_registry.h"
2020
#include "paddle/phi/kernels/expand_kernel.h"
2121
#include "paddle/phi/kernels/funcs/eigen/common.h"
@@ -82,7 +82,13 @@ void DropoutRawKernel(const Context& dev_ctx,
8282
} else {
8383
seed_data = fix_seed ? seed : 0;
8484
}
85-
auto engine = paddle::framework::GetCPURandomEngine(seed_data);
85+
std::shared_ptr<std::mt19937_64> engine;
86+
if (seed_data) {
87+
engine = std::make_shared<std::mt19937_64>();
88+
engine->seed(seed_data);
89+
} else {
90+
engine = dev_ctx.GetGenerator()->GetCPUEngine();
91+
}
8692

8793
std::uniform_real_distribution<float> dist(0, 1);
8894

@@ -147,7 +153,13 @@ void DropoutNdKernel(const Context& dev_ctx,
147153
} else {
148154
seed_data = fix_seed ? seed : 0;
149155
}
150-
auto engine = paddle::framework::GetCPURandomEngine(seed_data);
156+
std::shared_ptr<std::mt19937_64> engine;
157+
if (seed_data) {
158+
engine = std::make_shared<std::mt19937_64>();
159+
engine->seed(seed_data);
160+
} else {
161+
engine = dev_ctx.GetGenerator()->GetCPUEngine();
162+
}
151163

152164
std::uniform_real_distribution<float> dist(0, 1);
153165

paddle/phi/kernels/cpu/gaussian_kernel.cc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#include "paddle/phi/kernels/gaussian_kernel.h"
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/phi/backends/cpu/cpu_context.h"
18+
#include "paddle/phi/core/generator.h"
1919
#include "paddle/phi/core/kernel_registry.h"
2020

2121
namespace phi {
@@ -35,7 +35,13 @@ void GaussianKernel(const Context& dev_ctx,
3535
tensor->Resize(phi::make_ddim(shape.GetData()));
3636
int64_t size = tensor->numel();
3737
T* data = dev_ctx.template Alloc<T>(tensor);
38-
auto engine = paddle::framework::GetCPURandomEngine(seed);
38+
std::shared_ptr<std::mt19937_64> engine;
39+
if (seed) {
40+
engine = std::make_shared<std::mt19937_64>();
41+
engine->seed(seed);
42+
} else {
43+
engine = dev_ctx.GetGenerator()->GetCPUEngine();
44+
}
3945

4046
for (int64_t i = 0; i < size; ++i) {
4147
data[i] = dist(*engine);

paddle/phi/kernels/cpu/rnn_functor.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
#pragma once
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/fluid/operators/utils.h"
1918
#include "paddle/phi/core/dense_tensor.h"
19+
#include "paddle/phi/core/generator.h"
2020
#include "paddle/phi/core/tensor_utils.h"
2121
#include "paddle/phi/kernels/empty_kernel.h"
2222
#include "paddle/phi/kernels/funcs/eigen/common.h"
@@ -148,7 +148,13 @@ void DropoutCpuFunctionInplace(const CPUContext& dev_ctx,
148148
if (dropout_prob == 1.0f) {
149149
std::fill(mask_data, mask_data + size, static_cast<uint8_t>(0));
150150
} else {
151-
auto engine = paddle::framework::GetCPURandomEngine(seed_number);
151+
std::shared_ptr<std::mt19937_64> engine;
152+
if (seed_number) {
153+
engine = std::make_shared<std::mt19937_64>();
154+
engine->seed(seed_number);
155+
} else {
156+
engine = dev_ctx.GetGenerator()->GetCPUEngine();
157+
}
152158
std::uniform_real_distribution<float> dist(0, 1);
153159
for (size_t i = 0; i < size; ++i) {
154160
if (dist(*engine) < dropout_prob) {

paddle/phi/kernels/cpu/rrelu_kernel.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#include "paddle/phi/kernels/rrelu_kernel.h"
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/phi/backends/cpu/cpu_context.h"
18+
#include "paddle/phi/core/generator.h"
1919
#include "paddle/phi/core/kernel_registry.h"
2020

2121
namespace phi {
@@ -50,7 +50,7 @@ void RReluKernel(const Context& dev_ctx,
5050
return;
5151
}
5252

53-
auto engine = paddle::framework::GetCPURandomEngine(0);
53+
auto engine = dev_ctx.GetGenerator()->GetCPUEngine();
5454

5555
std::uniform_real_distribution<float> dist(lower, upper);
5656

paddle/phi/kernels/gpu/gaussian_kernel.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
#include <thrust/random.h>
1818

19-
#include "paddle/fluid/framework/generator.h"
2019
#include "paddle/phi/backends/gpu/gpu_context.h"
2120
#include "paddle/phi/common/amp_type_traits.h"
2221
#include "paddle/phi/core/dense_tensor.h"
22+
#include "paddle/phi/core/generator.h"
2323
#include "paddle/phi/core/kernel_registry.h"
2424
#include "paddle/phi/kernels/funcs/distribution_helper.h"
2525
#include "paddle/phi/kernels/funcs/index_impl.cu.h"

paddle/phi/kernels/gpu/gumbel_softmax_kernel.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
namespace cub = hipcub;
2828
#endif
2929

30-
#include "paddle/fluid/framework/generator.h"
3130
#include "paddle/fluid/framework/tensor_util.h"
31+
#include "paddle/phi/core/generator.h"
3232
#include "paddle/phi/kernels/funcs/distribution_helper.h"
3333
#include "paddle/phi/kernels/funcs/math_function.h"
3434

paddle/phi/kernels/gpu/rnn_kernel.cu.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
#include "paddle/phi/kernels/rnn_kernel.h"
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/fluid/operators/utils.h"
1918
#include "paddle/phi/backends/gpu/gpu_context.h"
19+
#include "paddle/phi/core/generator.h"
2020
#include "paddle/phi/core/kernel_registry.h"
2121
#include "paddle/phi/kernels/empty_kernel.h"
2222
#include "paddle/phi/kernels/gpu/rnn_functor.h"
@@ -175,8 +175,7 @@ void RnnKernel(const Context &dev_ctx,
175175
if (!is_test) {
176176
if (seed == 0) {
177177
// If not specify seed, use global Generator to generate seed.
178-
int device_id = dev_ctx.GetPlace().GetDeviceId();
179-
auto gen_cuda = paddle::framework::DefaultCUDAGenerator(device_id);
178+
auto gen_cuda = dev_ctx.GetGenerator();
180179
seed = static_cast<int>(gen_cuda->Random64());
181180
}
182181
// else use `ctx.Attr<int>("seed")` specified seed

paddle/phi/kernels/xpu/gaussian_kernel.cc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
#include "paddle/phi/kernels/gaussian_kernel.h"
1616

17-
#include "paddle/fluid/framework/generator.h"
1817
#include "paddle/fluid/memory/memcpy.h"
1918
#include "paddle/phi/backends/xpu/enforce_xpu.h"
19+
#include "paddle/phi/core/generator.h"
2020
#include "paddle/phi/core/kernel_registry.h"
2121

2222
namespace phi {
@@ -36,7 +36,13 @@ void GaussianKernel(const Context& ctx,
3636
uint64_t seed_v = static_cast<uint64_t>(seed);
3737
// TODO(pangyoki): implement GetXPURandomEngine to set different seeds on
3838
// corresponding XPU device.
39-
auto engine = paddle::framework::GetCPURandomEngine(seed_v);
39+
std::shared_ptr<std::mt19937_64> engine;
40+
if (seed_v) {
41+
engine = std::make_shared<std::mt19937_64>();
42+
engine->seed(seed_v);
43+
} else {
44+
engine = ctx.GetGenerator()->GetCPUEngine();
45+
}
4046

4147
std::unique_ptr<T[]> data_cpu(new T[size]);
4248
for (int64_t i = 0; i < size; ++i) {

0 commit comments

Comments
 (0)