提交 2328bee1 编写于 作者: S sneaxiy

fix Windows compile bug

test=develop
上级 e82772f4
...@@ -77,14 +77,14 @@ void EagerDeletionOpHandle::RunImpl() { ...@@ -77,14 +77,14 @@ void EagerDeletionOpHandle::RunImpl() {
VLOG(2) << "Erase variable " << name; VLOG(2) << "Erase variable " << name;
if (var->IsType<LoDTensor>()) { if (var->IsType<LoDTensor>()) {
garbages.emplace_back(var->GetMutable<LoDTensor>()->MoveMemory()); garbages.emplace_back(var->GetMutable<LoDTensor>()->MoveMemoryHolder());
} else if (var->IsType<SelectedRows>()) { } else if (var->IsType<SelectedRows>()) {
garbages.emplace_back( garbages.emplace_back(
var->GetMutable<SelectedRows>()->mutable_value()->MoveMemory()); var->GetMutable<SelectedRows>()->mutable_value()->MoveMemoryHolder());
} else if (var->IsType<LoDTensorArray>()) { } else if (var->IsType<LoDTensorArray>()) {
auto *tensor_arr = var->GetMutable<LoDTensorArray>(); auto *tensor_arr = var->GetMutable<LoDTensorArray>();
for (auto &t : *tensor_arr) { for (auto &t : *tensor_arr) {
garbages.emplace_back(t.MoveMemory()); garbages.emplace_back(t.MoveMemoryHolder());
} }
} else { } else {
PADDLE_THROW("Type %s of %s is not supported eager deletion", PADDLE_THROW("Type %s of %s is not supported eager deletion",
......
...@@ -106,14 +106,16 @@ static void DeleteUnusedTensors( ...@@ -106,14 +106,16 @@ static void DeleteUnusedTensors(
VLOG(2) << "Erase variable " << name; VLOG(2) << "Erase variable " << name;
if (var->IsType<LoDTensor>()) { if (var->IsType<LoDTensor>()) {
garbages.emplace_back(var->GetMutable<LoDTensor>()->MoveMemory());
} else if (var->IsType<SelectedRows>()) {
garbages.emplace_back( garbages.emplace_back(
var->GetMutable<SelectedRows>()->mutable_value()->MoveMemory()); var->GetMutable<LoDTensor>()->MoveMemoryHolder());
} else if (var->IsType<SelectedRows>()) {
garbages.emplace_back(var->GetMutable<SelectedRows>()
->mutable_value()
->MoveMemoryHolder());
} else if (var->IsType<LoDTensorArray>()) { } else if (var->IsType<LoDTensorArray>()) {
auto* lod_tensor_arr = var->GetMutable<LoDTensorArray>(); auto* lod_tensor_arr = var->GetMutable<LoDTensorArray>();
for (auto& t : *lod_tensor_arr) { for (auto& t : *lod_tensor_arr) {
garbages.emplace_back(t.MoveMemory()); garbages.emplace_back(t.MoveMemoryHolder());
} }
} else { } else {
PADDLE_THROW("Type %s of %s is not supported eager deletion", PADDLE_THROW("Type %s of %s is not supported eager deletion",
......
...@@ -158,7 +158,7 @@ class Tensor { ...@@ -158,7 +158,7 @@ class Tensor {
const std::shared_ptr<memory::Allocation>& Holder() const { return holder_; } const std::shared_ptr<memory::Allocation>& Holder() const { return holder_; }
size_t offset() const { return offset_; } size_t offset() const { return offset_; }
std::shared_ptr<memory::Allocation> MoveMemory() { std::shared_ptr<memory::Allocation> MoveMemoryHolder() {
return std::move(holder_); return std::move(holder_);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册