summaryrefslogtreecommitdiff
path: root/runtime/neurun/core/src/exec/Execution.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/neurun/core/src/exec/Execution.cc')
-rw-r--r--runtime/neurun/core/src/exec/Execution.cc135
1 files changed, 0 insertions, 135 deletions
diff --git a/runtime/neurun/core/src/exec/Execution.cc b/runtime/neurun/core/src/exec/Execution.cc
deleted file mode 100644
index bc7bbd160..000000000
--- a/runtime/neurun/core/src/exec/Execution.cc
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd. 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.
- */
-
-#include "exec/Execution.h"
-
-#include "util/logging.h"
-
-namespace neurun
-{
-namespace exec
-{
-
-Execution::Execution(const std::shared_ptr<IExecutor> &executor) : _executor{executor}
-{
- _io_desc.inputs.resize(_executor->graph().getInputs().size());
- _io_desc.outputs.resize(_executor->graph().getOutputs().size());
-}
-
-// TODO Remove default parameter
-void Execution::setInput(const ir::IOIndex &index, const void *buffer, size_t length,
- ir::Layout layout)
-{
- const auto input_index = graph().getInputs().at(index);
- const auto info = graph().operands().at(input_index).info();
-
- if (length < info.total_size())
- {
- throw std::runtime_error{"Too small length"};
- }
-
- _io_desc.inputs.at(index.value()) =
- nnfw::cpp14::make_unique<InputDesc>(info, buffer, length, layout);
-}
-
-// TODO Remove default parameter
-void Execution::setInput(const ir::IOIndex &index, const ir::TypeInfo &type, const ir::Shape &shape,
- const void *buffer, size_t length, ir::Layout layout)
-{
- const ir::OperandInfo info{shape, type};
-
- if (length < info.total_size())
- {
- throw std::runtime_error{"Too small length"};
- }
-
- _io_desc.inputs.at(index.value()) =
- nnfw::cpp14::make_unique<InputDesc>(info, buffer, length, layout);
-}
-
-// TODO Remove default parameter
-void Execution::setOutput(const ir::IOIndex &index, void *buffer, size_t length, ir::Layout layout)
-{
- const auto output_index = graph().getOutputs().at(index);
- const auto info = graph().operands().at(output_index).info();
-
- if (length < info.total_size())
- {
- throw std::runtime_error{"Too small length"};
- }
-
- _io_desc.outputs.at(index.value()) =
- nnfw::cpp14::make_unique<OutputDesc>(info, buffer, length, layout);
-}
-
-// TODO Remove default parameter
-void Execution::setOutput(const ir::IOIndex &index, const ir::TypeInfo &type,
- const ir::Shape &shape, void *buffer, size_t length, ir::Layout layout)
-{
- const ir::OperandInfo info{shape, type};
-
- if (length < info.total_size())
- {
- throw std::runtime_error{"Too small length"};
- }
-
- _io_desc.outputs.at(index.value()) =
- nnfw::cpp14::make_unique<OutputDesc>(info, buffer, length, layout);
-}
-
-void Execution::setInputLayout(const ir::IOIndex &index, ir::Layout layout)
-{
- const auto &input_desc = _io_desc.inputs.at(index.value());
- _io_desc.inputs.at(index.value()) = nnfw::cpp14::make_unique<InputDesc>(
- input_desc->info, input_desc->buffer, input_desc->size, layout);
-}
-
-void Execution::setOutputLayout(const ir::IOIndex &index, ir::Layout layout)
-{
- const auto &output_desc = _io_desc.outputs.at(index.value());
- _io_desc.outputs.at(index.value()) = nnfw::cpp14::make_unique<OutputDesc>(
- output_desc->info, output_desc->buffer, output_desc->size, layout);
-}
-
-void Execution::execute()
-{
- VERBOSE(Execution) << "Start execution" << std::endl;
-
- _executor->execute(_io_desc);
- finished = true;
-
- VERBOSE(Execution) << "Execution finished" << std::endl;
-}
-
-void Execution::startExecute()
-{
- VERBOSE(Execution) << "Create asynchronous execution thread" << std::endl;
-
- _exec_thread = nnfw::cpp14::make_unique<std::thread>(&Execution::execute, this);
-}
-
-void Execution::waitFinish()
-{
- VERBOSE(Execution) << "Wait to finish execution" << std::endl;
-
- _exec_thread->join();
- finished = true;
-}
-
-bool Execution::isFinished(void) const { return finished; }
-
-} // namespace exec
-} // namespace neurun