Skip to content

Commit

Permalink
updates some codes, test=develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Shixiaowei02 committed Jan 22, 2022
1 parent e01c560 commit 838626a
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 23 deletions.
1 change: 1 addition & 0 deletions paddle/pten/api/lib/utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ PADDLE_API Tensor copy_to(const Tensor& x, Backend backend, bool blocking) {
pten::make_intrusive<paddle::experimental::SharedStorage>(
pten::TransToFluidPlace(backend)),
std::move(out_meta));
dense_out->mutable_data(pten::TransToFluidPlace(backend));
kernel_context.EmplaceBackOutput(dense_out.get());
Tensor out;
out.set_impl(dense_out);
Expand Down
34 changes: 20 additions & 14 deletions python/paddle/fluid/tests/custom_op/attr_test_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,9 @@ std::vector<paddle::Tensor> AttrTestForward(
PD_DISPATCH_FLOATING_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

// Check attrs value
Expand Down Expand Up @@ -175,12 +177,13 @@ std::vector<paddle::Tensor> AttrTestBackward(
const std::vector<std::string>& str_vec_attr) {
auto grad_x = paddle::Tensor(paddle::PlaceType::kCPU, grad_out.shape());

PD_DISPATCH_FLOATING_TYPES(grad_out.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
grad_out.data<data_t>(),
grad_x.mutable_data<data_t>(),
grad_out.size());
}));
PD_DISPATCH_FLOATING_TYPES(
grad_out.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
grad_out.data<data_t>(),
grad_x.mutable_data<data_t>(paddle::PlaceType::kCPU),
grad_out.size());
}));

CheckAllBackwardAttrs(int_attr, float_vec_attr, str_vec_attr);

Expand All @@ -203,7 +206,9 @@ std::vector<paddle::Tensor> ConstAttrTestForward(
PD_DISPATCH_FLOATING_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

// Check attrs value
Expand Down Expand Up @@ -241,12 +246,13 @@ std::vector<paddle::Tensor> ConstAttrTestBackward(
const std::vector<std::string>& str_vec_attr) {
auto grad_x = paddle::Tensor(paddle::PlaceType::kCPU, grad_out.shape());

PD_DISPATCH_FLOATING_TYPES(grad_out.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
grad_out.data<data_t>(),
grad_x.mutable_data<data_t>(),
grad_out.size());
}));
PD_DISPATCH_FLOATING_TYPES(
grad_out.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
grad_out.data<data_t>(),
grad_x.mutable_data<data_t>(paddle::PlaceType::kCPU),
grad_out.size());
}));

CheckAllBackwardAttrs(int_attr, float_vec_attr, str_vec_attr);

Expand Down
6 changes: 4 additions & 2 deletions python/paddle/fluid/tests/custom_op/concat_and_split.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void ConcatCpuKernel(const std::vector<paddle::Tensor>& ins,
int64_t out_cols = 0;
auto ins_cols = GetCols(ins, out_rows, &out_cols);

auto* out_data = out->mutable_data<data_t>();
auto* out_data = out->mutable_data<data_t>(paddle::PlaceType::kCPU);
int64_t col_idx = 0;
for (size_t i = 0; i < num; ++i) {
int64_t col_len = ins_cols[i];
Expand Down Expand Up @@ -76,7 +76,9 @@ void SplitCpuKernel(const paddle::Tensor& in,
int64_t col_idx = 0;
for (size_t j = 0; j < num; ++j) {
int64_t col_len = out_cols[j];
auto* out_data = outs->at(j).mutable_data<data_t>() + i * col_len;
auto* out_data =
outs->at(j).mutable_data<data_t>(paddle::PlaceType::kCPU) +
i * col_len;
std::memcpy(out_data, in_data + col_idx, sizeof(data_t) * col_len);
col_idx += col_len;
}
Expand Down
4 changes: 3 additions & 1 deletion python/paddle/fluid/tests/custom_op/custom_conj_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ std::vector<paddle::Tensor> ConjFunction(const paddle::Tensor& x) {
PD_DISPATCH_FLOATING_AND_COMPLEX_TYPES(
x.type(), "ConjCPUKernel", ([&] {
ConjCPUKernel<data_t>(
x.data<data_t>(), x.size(), out.mutable_data<data_t>());
x.data<data_t>(),
x.size(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU));
}));

return {out};
Expand Down
24 changes: 18 additions & 6 deletions python/paddle/fluid/tests/custom_op/dispatch_test_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ std::vector<paddle::Tensor> DispatchTestInterger(const paddle::Tensor& x) {
PD_DISPATCH_INTEGRAL_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand All @@ -50,7 +52,9 @@ std::vector<paddle::Tensor> DispatchTestFloatAndInteger(
PD_DISPATCH_FLOATING_AND_INTEGRAL_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand All @@ -67,7 +71,9 @@ std::vector<paddle::Tensor> DispatchTestComplex(const paddle::Tensor& x) {
PD_DISPATCH_COMPLEX_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand All @@ -85,7 +91,9 @@ std::vector<paddle::Tensor> DispatchTestFloatAndComplex(
PD_DISPATCH_FLOATING_AND_COMPLEX_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand All @@ -103,7 +111,9 @@ std::vector<paddle::Tensor> DispatchTestFloatAndIntegerAndComplex(
PD_DISPATCH_FLOATING_AND_INTEGRAL_AND_COMPLEX_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand All @@ -120,7 +130,9 @@ std::vector<paddle::Tensor> DispatchTestFloatAndHalf(const paddle::Tensor& x) {
PD_DISPATCH_FLOATING_AND_HALF_TYPES(
x.type(), "assign_cpu_kernel", ([&] {
assign_cpu_kernel<data_t>(
x.data<data_t>(), out.mutable_data<data_t>(), x.size());
x.data<data_t>(),
out.mutable_data<data_t>(paddle::PlaceType::kCPU),
x.size());
}));

return {out};
Expand Down

0 comments on commit 838626a

Please sign in to comment.