ArmNN
 21.02
ClBackendModelContext.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 namespace
9 {
10 
11 bool ParseBool(const armnn::BackendOptions::Var& value, bool defaultValue)
12 {
13  if (value.IsBool())
14  {
15  return value.AsBool();
16  }
17  return defaultValue;
18 }
19 
20 std::string ParseFile(const armnn::BackendOptions::Var& value, std::string defaultValue)
21 {
22  if (value.IsString())
23  {
24  return value.AsString();
25  }
26  return defaultValue;
27 }
28 
29 } // namespace anonymous
30 
31 namespace armnn
32 {
33 
35  : m_CachedNetworkFilePath(""), m_IsFastMathEnabled(false), m_SaveCachedNetwork(false)
36 {
37  if (!modelOptions.empty())
38  {
39  ParseOptions(modelOptions, "GpuAcc", [&](std::string name, const BackendOptions::Var& value)
40  {
41  if (name == "FastMathEnabled")
42  {
43  m_IsFastMathEnabled |= ParseBool(value, false);
44  }
45  if (name == "SaveCachedNetwork")
46  {
47  m_SaveCachedNetwork |= ParseBool(value, false);
48  }
49  if (name == "CachedNetworkFilePath")
50  {
51  m_CachedNetworkFilePath = ParseFile(value, "");
52  }
53  });
54  }
55 }
56 
58 {
59  return m_CachedNetworkFilePath;
60 }
61 
63 {
64  return m_IsFastMathEnabled;
65 }
66 
68 {
69  return m_SaveCachedNetwork;
70 }
71 
72 } // namespace armnn
Very basic type safe variant.
DataLayout::NCHW false
void ParseOptions(const std::vector< BackendOptions > &options, BackendId backend, F f)
std::vector< BackendOptions > ModelOptions
Copyright (c) 2021 ARM Limited and Contributors.
std::string AsString() const
ClBackendModelContext(const ModelOptions &modelOptions)
bool AsBool() const
Value getters.
std::string ParseFile(const BackendOptions::Var &value, std::string defaultValue)
bool IsBool() const
Type getters.
std::string GetCachedNetworkFilePath() const