From f8008f5dc28d35137b07d828a32c107d76288efd Mon Sep 17 00:00:00 2001 From: zhaojiaying01 Date: Thu, 18 Oct 2018 20:32:10 +0800 Subject: [PATCH] add fetch kernel for CPU --- src/operators/fetch_op.cpp | 10 ++------- src/operators/fetch_op.h | 17 --------------- src/operators/kernel/arm/fetch_kernel.cpp | 26 +++++++++++++++++++++++ 3 files changed, 28 insertions(+), 25 deletions(-) create mode 100644 src/operators/kernel/arm/fetch_kernel.cpp diff --git a/src/operators/fetch_op.cpp b/src/operators/fetch_op.cpp index 852d5c48fc..efe0ca7a9d 100644 --- a/src/operators/fetch_op.cpp +++ b/src/operators/fetch_op.cpp @@ -18,18 +18,12 @@ namespace operators { template void FetchOp::InferShape() const { + DLOG << "~~~~~~~~~~~~~~!!"; auto x_dims = this->param_.InputX()->dims(); this->param_.Out()->Resize(x_dims); + DLOG << "~~~~~~~~~~~~~~!!!"; } -template -void FetchOp::RunImpl() { -#ifdef PADDLE_MOBILE_CL - this->kernel_.Compute(this->param_); -#else - this->param_.Out()->ShareDataWith(*(this->param_.InputX())); -#endif -} } // namespace operators } // namespace paddle_mobile diff --git a/src/operators/fetch_op.h b/src/operators/fetch_op.h index 4e313092cc..c3ef5864f0 100644 --- a/src/operators/fetch_op.h +++ b/src/operators/fetch_op.h @@ -24,7 +24,6 @@ namespace operators { using std::string; template -#ifdef PADDLE_MOBILE_CL class FetchOp : public framework::OperatorWithKernel, FetchKernel> { @@ -35,26 +34,10 @@ class FetchOp : framework::OperatorWithKernel, FetchKernel>( type, inputs, outputs, attrs, scope) {} -#else -class FetchOp : public framework::OperatorBase { - public: - FetchOp(const string &type, const VariableNameMap &inputs, - const VariableNameMap &outputs, const framework::AttributeMap attrs, - std::shared_ptr scope) - : framework::OperatorBase(type, inputs, outputs, attrs, - scope), - param_(inputs, outputs, attrs, *scope) {} - void Init() {} -#endif void InferShape() const override; - void RunImpl() override; - protected: -#ifndef PADDLE_MOBILE_CL - FetchParam param_; -#endif }; } // namespace operators diff --git a/src/operators/kernel/arm/fetch_kernel.cpp b/src/operators/kernel/arm/fetch_kernel.cpp new file mode 100644 index 0000000000..ce5b34818a --- /dev/null +++ b/src/operators/kernel/arm/fetch_kernel.cpp @@ -0,0 +1,26 @@ +/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved. + Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ +#ifdef FUSION_CONVADD_OP +#include "operators/kernel/fetch_kernel.h" +namespace paddle_mobile { +namespace operators { +template <> +bool FetchKernel::Init(FetchParam *param) { + return true; +} +template <> +void FetchKernel::Compute(const FetchParam ¶m) { + param.Out()->ShareDataWith(*(param.InputX())); +} +template class FetchKernel; +} // namespace operators +} // namespace paddle_mobile +#endif \ No newline at end of file -- GitLab