From 0b52cc886f2fbc0e491c9a73ff5ee3e856915b55 Mon Sep 17 00:00:00 2001 From: qiaolongfei Date: Mon, 8 Jan 2018 13:06:56 +0000 Subject: [PATCH] fix priority --- paddle/framework/operator.cc | 5 ++++- paddle/operators/fetch_op.cc | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/paddle/framework/operator.cc b/paddle/framework/operator.cc index 3744eae696..febad37b42 100644 --- a/paddle/framework/operator.cc +++ b/paddle/framework/operator.cc @@ -488,6 +488,8 @@ void OperatorWithKernel::Run(const Scope& scope, } } + VLOG(3) << "expected_kernel_key:" << expected_kernel_key; + Scope& new_scope = scope.NewScope(); for (auto& var_name_item : this->Inputs()) { @@ -520,7 +522,8 @@ void OperatorWithKernel::Run(const Scope& scope, auto kernel_iter = kernels.find(expected_kernel_key); - kernel_iter->second->Compute(ExecutionContext(*this, new_scope, *dev_ctx)); + kernel_iter->second->Compute(ExecutionContext( + *this, new_scope, *pool.Get(expected_kernel_key.place_))); } proto::DataType OperatorWithKernel::IndicateDataType( diff --git a/paddle/operators/fetch_op.cc b/paddle/operators/fetch_op.cc index 387d1e0a74..48c01f984f 100644 --- a/paddle/operators/fetch_op.cc +++ b/paddle/operators/fetch_op.cc @@ -53,7 +53,7 @@ class FetchOp : public framework::OperatorBase { // FIXME(yuyang18): Should we assume the fetch operator always generate // CPU outputs? platform::DeviceContextPool &pool = platform::DeviceContextPool::Instance(); - auto &dev_ctx = *pool.Get(place); + auto &dev_ctx = *pool.Get(src_item.place()); CopyFrom(src_item, platform::CPUPlace(), dev_ctx, &dst_item); dev_ctx.Wait(); -- GitLab