ONE - On-device Neural Engine
Loading...
Searching...
No Matches
ExternalContext.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 __ONERT_BACKEND_RUY_EXTERNAL_CONTEXT_H__
18
#define __ONERT_BACKEND_RUY_EXTERNAL_CONTEXT_H__
19
20
#include <
util/ConfigSource.h
>
21
#include <ruy/context.h>
22
23
#include <memory>
24
25
namespace
onert
26
{
27
namespace
backend
28
{
29
namespace
ruy
30
{
31
32
class
ExternalContext
33
{
34
private
:
35
static
const
int
kDefaultNumThreadpoolThreads = 4;
36
37
public
:
38
ExternalContext
() : _ruy_context(new ::ruy::Context)
39
{
40
setMaxNumThreads
(
onert::util::getConfigInt
(onert::util::config::NUM_THREADS));
41
}
42
43
void
setMaxNumThreads
(
int
max_num_threads)
44
{
45
const
int
target_num_threads =
46
max_num_threads > -1 ? max_num_threads :
kDefaultNumThreadpoolThreads
;
47
_ruy_context->set_max_num_threads(target_num_threads);
48
}
49
50
::ruy::Context *
ruy_context
()
const
{
return
_ruy_context.get(); }
51
52
private
:
53
const
std::unique_ptr<::ruy::Context> _ruy_context;
54
};
55
56
}
// namespace ruy
57
}
// namespace backend
58
}
// namespace onert
59
60
#endif
// __ONERT_BACKEND_RUY_EXTERNAL_CONTEXT_H__
ConfigSource.h
kDefaultNumThreadpoolThreads
const int kDefaultNumThreadpoolThreads
Definition
BackendContext.h:26
onert::backend::ruy::ExternalContext
Definition
ExternalContext.h:33
onert::backend::ruy::ExternalContext::ExternalContext
ExternalContext()
Definition
ExternalContext.h:38
onert::backend::ruy::ExternalContext::ruy_context
::ruy::Context * ruy_context() const
Definition
ExternalContext.h:50
onert::backend::ruy::ExternalContext::setMaxNumThreads
void setMaxNumThreads(int max_num_threads)
Definition
ExternalContext.h:43
onert::util::getConfigInt
int getConfigInt(const std::string &key)
Definition
ConfigSource.cc:124
onert
Definition
CustomKernel.cc:20
runtime
onert
backend
ruy
ExternalContext.h
Generated by
1.9.8