ONE - On-device Neural Engine
Loading...
Searching...
No Matches
GatherLayer.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2025 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 __ONERT_BACKEND_GGML_OPS_GATHERLAYER_H__
18
#define __ONERT_BACKEND_GGML_OPS_GATHERLAYER_H__
19
20
#include "../ExternalContext.h"
21
22
#include <
backend/IPortableTensor.h
>
23
24
#include <
exec/IFunction.h
>
25
26
namespace
onert::backend::ggml::ops
27
{
28
29
class
GatherLayer
:
public
::onert::exec::IFunction
30
{
31
public
:
32
GatherLayer
() : _input{nullptr}, _indices{nullptr}, _output{nullptr}, _axis{-1}, _ctx{nullptr}
33
{
34
// DO NOTHING
35
}
36
37
public
:
38
void
configure
(
const
IPortableTensor
*input,
const
IPortableTensor
*indices,
39
IPortableTensor
*output, int32_t axis,
ExternalContext
*ctx);
40
41
void
run
()
override
;
42
43
private
:
44
template
<
typename
OpType>
void
runByInputType();
45
void
runByGGMLQuantInputType();
46
47
private
:
48
const
IPortableTensor
*_input;
49
const
IPortableTensor
*_indices;
50
IPortableTensor
*_output;
51
52
int32_t _axis;
53
ExternalContext
*_ctx;
54
};
55
56
}
// namespace onert::backend::ggml::ops
57
58
#endif
// __ONERT_BACKEND_GGML_OPS_GATHERLAYER_H__
IFunction.h
IPortableTensor.h
onert::backend::IPortableTensor
A tensor class that is portable for other backends.
Definition
IPortableTensor.h:37
onert::backend::ggml::ExternalContext
Definition
ExternalContext.h:29
onert::backend::ggml::ops::GatherLayer
Definition
GatherLayer.h:30
onert::backend::ggml::ops::GatherLayer::run
void run() override
Definition
GatherLayer.cc:124
onert::backend::ggml::ops::GatherLayer::configure
void configure(const IPortableTensor *input, const IPortableTensor *indices, IPortableTensor *output, int32_t axis, ExternalContext *ctx)
Definition
GatherLayer.cc:67
onert::backend::ggml::ops::GatherLayer::GatherLayer
GatherLayer()
Definition
GatherLayer.h:32
onert::exec::IFunction
Definition
IFunction.h:24
onert::backend::ggml::ops
Definition
FullyConnectedLayer.cc:74
runtime
onert
backend
ggml
ops
GatherLayer.h
Generated by
1.9.8