|
|
|
@ -71,11 +71,7 @@ class GPUGaussianRandomKernel : public framework::OpKernel<T> {
|
|
|
|
|
|
|
|
|
|
if (gen_cuda->GetIsInitPy() && seed_flag) {
|
|
|
|
|
auto seed_offset = gen_cuda->IncrementOffset(1);
|
|
|
|
|
int offset_step = 100;
|
|
|
|
|
// NOTE(xuefeng): Currently, we let offset step fixed to avoid
|
|
|
|
|
// unexpected results which may cause ut fail.
|
|
|
|
|
// we will fix this in future.
|
|
|
|
|
int gen_offset = offset_step * seed_offset.second;
|
|
|
|
|
int gen_offset = size * seed_offset.second;
|
|
|
|
|
thrust::transform(
|
|
|
|
|
index_sequence_begin, index_sequence_begin + size,
|
|
|
|
|
thrust::device_ptr<T>(data),
|
|
|
|
@ -112,11 +108,7 @@ class GPUGaussianRandomBatchSizeLikeKernel : public framework::OpKernel<T> {
|
|
|
|
|
|
|
|
|
|
if (gen_cuda->GetIsInitPy() && seed_flag) {
|
|
|
|
|
auto seed_offset = gen_cuda->IncrementOffset(1);
|
|
|
|
|
int offset_step = 100;
|
|
|
|
|
// NOTE(xuefeng): Currently, we let offset step fixed to avoid
|
|
|
|
|
// unexpected results which may cause ut fail.
|
|
|
|
|
// we will fix this in future.
|
|
|
|
|
int gen_offset = offset_step * seed_offset.second;
|
|
|
|
|
int gen_offset = size * seed_offset.second;
|
|
|
|
|
thrust::transform(index_sequence_begin, index_sequence_begin + size,
|
|
|
|
|
thrust::device_ptr<T>(data),
|
|
|
|
|
GaussianGenerator<T>(mean, std, seed_offset.first,
|
|
|
|
|