ONE - On-device Neural Engine
Loading...
Searching...
No Matches
KernelBuilder.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#ifndef LUCI_INTERPRETER_LOADER_KERNELBUILDER_H
18
#define LUCI_INTERPRETER_LOADER_KERNELBUILDER_H
19
20
#include "
loader/KernelBuilderHelper.h
"
21
22
#include "
core/Kernel.h
"
23
#include "core/RuntimeGraph.h"
24
25
#include <
luci/IR/CircleNodeVisitor.h
>
26
27
#include <memory>
28
#include <unordered_map>
29
30
namespace
luci_interpreter
31
{
32
33
class
KernelBuilderRegistry;
34
35
class
KernelBuilder
:
public
KernelBuilderHelper
36
{
37
public
:
38
KernelBuilder
(
39
const
std::unordered_map<const loco::Graph *, RuntimeGraph *> &
graph_to_runtime_graph
,
40
const
std::unordered_map<const loco::Node *, Tensor *> &
node_to_tensor
);
41
42
~KernelBuilder
();
43
44
std::unique_ptr<Kernel>
build
(
const
luci::CircleNode
*node);
45
46
private
:
47
std::unique_ptr<KernelBuilderRegistry> _builder_registry;
48
};
49
50
}
// namespace luci_interpreter
51
52
#endif
// LUCI_INTERPRETER_LOADER_KERNELBUILDER_H
Kernel.h
KernelBuilderHelper.h
luci_interpreter::KernelBuilderHelper
Definition
KernelBuilderHelper.h:33
luci_interpreter::KernelBuilderHelper::graph_to_runtime_graph
const std::unordered_map< const loco::Graph *, RuntimeGraph * > & graph_to_runtime_graph() const
Definition
KernelBuilderHelper.h:52
luci_interpreter::KernelBuilderHelper::node_to_tensor
const std::unordered_map< const loco::Node *, Tensor * > & node_to_tensor() const
Definition
KernelBuilderHelper.h:57
luci_interpreter::KernelBuilder
Definition
KernelBuilder.h:36
luci_interpreter::KernelBuilder::build
std::unique_ptr< Kernel > build(const luci::CircleNode *node)
Definition
KernelBuilder.cpp:121
luci_interpreter::KernelBuilder::~KernelBuilder
~KernelBuilder()
Definition
KernelBuilder.cpp:115
CircleNodeVisitor.h
luci_interpreter
Definition
BuddyMemoryManager.h:22
luci::CircleNode
Definition
CircleNodeDecl.h:40
compiler
luci-interpreter
src
loader
KernelBuilder.h
Generated by
1.9.8