Skip to content

Commit a56e16a

Browse files
authored
[Refactoring Tensor PR #5] replace storage with pten allocation (PaddlePaddle#39085)
* updates callers, test=develop * updates tensor, test=develop * fixes errors, test=develop * remove some dtypes, test=develop * fix errors in the base storage modification, test=develop * fixes a bug, test=develop * fixes the bugs in push the whole, test=develop * updates, test=develop * update * update, test=develop * fixes the mac-py3 CI, test=develop * remove the storage impl, test=develop * updates some codes, test=develop * update, test=develop * updates pten allocation, test=develop
1 parent 95b081e commit a56e16a

File tree

80 files changed

+490
-684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+490
-684
lines changed

paddle/fluid/eager/accumulation/gradient_accumulation.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,9 @@ void TensorAdd(const egr::EagerTensor& src, egr::EagerTensor* dst) {
216216

217217
#define PADDLE_TENSOR_ADD(cpp_type) \
218218
if (data_type == paddle::framework::DataTypeTrait<cpp_type>::DataType()) { \
219-
TensorAddFunctor<cpp_type> func(numel, src_tensor->data<cpp_type>(), \
220-
dst_tensor->mutable_data<cpp_type>()); \
219+
TensorAddFunctor<cpp_type> func( \
220+
numel, src_tensor->data<cpp_type>(), \
221+
dst_tensor->mutable_data<cpp_type>(place)); \
221222
paddle::platform::VisitPlace(place, func); \
222223
return; \
223224
}

paddle/fluid/eager/tests/data_structure_tests/accumulation_node_test.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ TEST(AccumulationNode, EagerTensor) {
3636
paddle::platform::CPUPlace())
3737
.get(),
3838
meta);
39-
dt0->mutable_data<paddle::platform::float16>()[0] = 10.0;
39+
dt0->mutable_data<paddle::platform::float16>(
40+
paddle::platform::CPUPlace())[0] = 10.0;
4041
EagerTensor et0 = EagerTensor(dt0);
4142

4243
std::shared_ptr<pten::DenseTensor> dt1 = std::make_shared<pten::DenseTensor>(
@@ -45,7 +46,8 @@ TEST(AccumulationNode, EagerTensor) {
4546
.get(),
4647
meta);
4748

48-
dt1->mutable_data<paddle::platform::float16>()[0] = 20.0;
49+
dt1->mutable_data<paddle::platform::float16>(
50+
paddle::platform::CPUPlace())[0] = 20.0;
4951
EagerTensor et1 = EagerTensor(dt1);
5052

5153
std::shared_ptr<pten::DenseTensor> grad_dt =

paddle/fluid/eager/tests/data_structure_tests/autograd_meta_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ TEST(AutogradMeta, MemberFunction) {
4646
paddle::platform::CPUPlace())
4747
.get(),
4848
meta);
49-
auto* dt_ptr = dt->mutable_data<float>();
49+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
5050
dt_ptr[0] = 5.0f;
5151
dt_ptr[1] = 10.0f;
5252
grad_t->set_impl(dt);

paddle/fluid/eager/tests/data_structure_tests/eager_tensor_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ TEST(EagerTensor, Constructor) {
4040
paddle::platform::CPUPlace())
4141
.get(),
4242
meta);
43-
auto* dt_ptr = dt->mutable_data<float>();
43+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
4444
dt_ptr[0] = 5.0f;
4545
dt_ptr[1] = 10.0f;
4646
egr::EagerTensor et3 = egr::EagerTensor(dt);
@@ -70,7 +70,7 @@ TEST(EagerTensor, MemberFunction) {
7070
paddle::platform::CPUPlace())
7171
.get(),
7272
meta);
73-
auto* dt_ptr = dt->mutable_data<float>();
73+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
7474
dt_ptr[0] = 5.0f;
7575
dt_ptr[1] = 10.0f;
7676
VLOG(6) << "Make Dense Tensor";

paddle/fluid/eager/tests/data_structure_tests/grad_node_info_test.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ TEST(GradNodeInfo, GradNodeBase) {
4545
paddle::platform::CPUPlace())
4646
.get(),
4747
meta);
48-
auto* dt_ptr = dt->mutable_data<float>();
48+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
4949
dt_ptr[0] = 5.0f;
5050
egr::EagerTensor et1(dt);
5151
grads = {{et1}};
@@ -102,7 +102,7 @@ TEST(GradNodeInfo, GradNodeBase) {
102102
paddle::platform::CPUPlace())
103103
.get(),
104104
meta);
105-
auto* dt_ptr = dt->mutable_data<float>();
105+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
106106
dt_ptr[0] = 6.0f;
107107
auto* et_ptr =
108108
std::dynamic_pointer_cast<pten::DenseTensor>(et.impl())->data<float>();
@@ -121,8 +121,8 @@ TEST(GradNodeInfo, GradNodeBase) {
121121

122122
VLOG(6) << "Test Reduce Hook";
123123
auto reduce_hook = [&](void) -> void {
124-
auto* et_ptr = std::dynamic_pointer_cast<pten::DenseTensor>(et1.impl())
125-
->mutable_data<float>();
124+
auto* et_ptr =
125+
std::dynamic_pointer_cast<pten::DenseTensor>(et1.impl())->data<float>();
126126
et_ptr[0] = 100.0;
127127
VLOG(6) << "Running Reduce Hook";
128128
};

paddle/fluid/eager/tests/data_structure_tests/grad_node_test.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class GradTestNode : public egr::GradNodeBase {
4141
paddle::platform::CPUPlace())
4242
.get(),
4343
meta);
44-
auto* dt_ptr = dt->mutable_data<float>();
44+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
4545
dt_ptr[0] = 6.0f;
4646
egr::EagerTensor et1(dt);
4747
std::vector<std::vector<egr::EagerTensor>> res = {{et1}};

paddle/fluid/eager/tests/data_structure_tests/grad_tensor_holder_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ TEST(GradTensorHolder, Interfaces) {
5757
paddle::platform::CPUPlace())
5858
.get(),
5959
meta);
60-
dt0->mutable_data<float>()[0] = 10.0;
60+
dt0->mutable_data<float>(paddle::platform::CPUPlace())[0] = 10.0;
6161
EagerTensor et0 = EagerTensor(dt0);
6262

6363
std::shared_ptr<pten::DenseTensor> dt1 = std::make_shared<pten::DenseTensor>(
6464
std::make_unique<paddle::experimental::DefaultAllocator>(
6565
paddle::platform::CPUPlace())
6666
.get(),
6767
meta);
68-
dt1->mutable_data<float>()[0] = 20.0;
68+
dt1->mutable_data<float>(paddle::platform::CPUPlace())[0] = 20.0;
6969
EagerTensor et1 = EagerTensor(dt1);
7070

7171
// Constructor empty GradTensorHolder

paddle/fluid/eager/tests/data_structure_tests/tensor_wrapper_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ TEST(TensorWrapper, Basic) {
2929
paddle::platform::CPUPlace())
3030
.get(),
3131
meta);
32-
auto* dt_ptr = dt->mutable_data<float>();
32+
auto* dt_ptr = dt->mutable_data<float>(paddle::platform::CPUPlace());
3333
dt_ptr[0] = 5.0f;
3434
dt_ptr[1] = 10.0f;
3535
et1.set_impl(dt);
@@ -56,7 +56,7 @@ TEST(TensorWrapper, Basic) {
5656
paddle::platform::CPUPlace())
5757
.get(),
5858
meta2);
59-
auto* dt_ptr2 = dt->mutable_data<float>();
59+
auto* dt_ptr2 = dt->mutable_data<float>(paddle::platform::CPUPlace());
6060
dt_ptr2[0] = 6.0f;
6161
dt_ptr2[1] = 11.0f;
6262
et2.set_impl(dt2);

paddle/fluid/eager/tests/task_tests/eager_utils_test.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ TEST(EagerUtils, AutoGradMeta) {
3535
paddle::platform::CPUPlace())
3636
.get(),
3737
meta);
38-
dt0->mutable_data<float>()[0] = 10.0;
38+
dt0->mutable_data<float>(paddle::platform::CPUPlace())[0] = 10.0;
3939
EagerTensor et0 = EagerTensor(dt0);
4040

4141
std::shared_ptr<pten::DenseTensor> dt1 = std::make_shared<pten::DenseTensor>(
4242
std::make_unique<paddle::experimental::DefaultAllocator>(
4343
paddle::platform::CPUPlace())
4444
.get(),
4545
meta);
46-
dt1->mutable_data<float>()[0] = 20.0;
46+
dt1->mutable_data<float>(paddle::platform::CPUPlace())[0] = 20.0;
4747
EagerTensor et1 = EagerTensor(dt1);
4848

4949
std::vector<EagerTensor> ets = {et0, et1};
@@ -112,7 +112,7 @@ egr::EagerTensor CreateTestCPUTensor(T val,
112112
paddle::platform::CPUPlace())
113113
.get(),
114114
meta);
115-
auto* dt_ptr = dt->mutable_data<T>();
115+
auto* dt_ptr = dt->mutable_data<T>(paddle::platform::CPUPlace());
116116
for (int64_t i = 0; i < dt->numel(); i++) {
117117
dt_ptr[i] = val;
118118
}

paddle/fluid/eager/tests/task_tests/fwd_bwd_joint_test.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ egr::EagerTensor hook_function(const egr::EagerTensor& t) {
4444
paddle::memory::Alloc(place, bytes_size)),
4545
std::move(ret_meta));
4646

47-
float* t_ptr = t_dense->mutable_data<float>();
48-
float* ret_ptr = ret_dense->mutable_data<float>();
47+
float* t_ptr = t_dense->mutable_data<float>(place);
48+
float* ret_ptr = ret_dense->mutable_data<float>(place);
4949
for (int i = 0; i < ret_dense->numel(); i++) {
5050
ret_ptr[i] = t_ptr[i] + 5.0;
5151
}
@@ -184,7 +184,7 @@ TEST(FwdBwdJoint, BranchedNodes) {
184184
// Examine Forward Output 2
185185
{
186186
auto dense_out = std::dynamic_pointer_cast<pten::DenseTensor>(out2.impl());
187-
float* ptr = dense_out->mutable_data<float>();
187+
float* ptr = dense_out->mutable_data<float>(paddle::platform::CPUPlace());
188188
for (int i = 0; i < 20; i++) {
189189
PADDLE_ENFORCE(ptr[i] == 150.0,
190190
paddle::platform::errors::Fatal(

0 commit comments

Comments
 (0)