aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonBackendModelContext.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-09-10 13:37:32 +0100
committerRyan O'Shea <ryan.oshea2@arm.com>2020-09-10 18:04:17 +0000
commit045f6be924240a560293a3a7a0ecae49bcf0d1fa (patch)
tree3193fb35288ad8011cdfb9082d82085f48b6792b /src/backends/neon/NeonBackendModelContext.cpp
parent08f4016b8ae8ee836fc813abcbc7db826924f3ec (diff)
downloadarmnn-045f6be924240a560293a3a7a0ecae49bcf0d1fa.tar.gz
IVGCVSW-5156 Introduce ModelOptions to OptimizedNetwork
* Introduced ModelOptions to IBackendInternal * Introduced ModelOptions to Network * Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON * Added Optimizer tests Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
Diffstat (limited to 'src/backends/neon/NeonBackendModelContext.cpp')
-rw-r--r--src/backends/neon/NeonBackendModelContext.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/backends/neon/NeonBackendModelContext.cpp b/src/backends/neon/NeonBackendModelContext.cpp
new file mode 100644
index 0000000000..2be71e5ded
--- /dev/null
+++ b/src/backends/neon/NeonBackendModelContext.cpp
@@ -0,0 +1,45 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "NeonBackendModelContext.hpp"
+
+namespace
+{
+
+bool ParseBool(const armnn::BackendOptions::Var& value, bool defaultValue)
+{
+ if (value.IsBool())
+ {
+ return value.AsBool();
+ }
+ return defaultValue;
+}
+
+} // namespace anonymous
+
+namespace armnn
+{
+
+NeonBackendModelContext::NeonBackendModelContext(const ModelOptions& modelOptions)
+ : m_IsFastMathEnabled(false)
+{
+ if (!modelOptions.empty())
+ {
+ ParseOptions(modelOptions, "CpuAcc", [&](std::string name, const BackendOptions::Var& value)
+ {
+ if (name == "FastMathEnabled")
+ {
+ m_IsFastMathEnabled |= ParseBool(value, false);
+ }
+ });
+ }
+}
+
+bool NeonBackendModelContext::IsFastMathEnabled() const
+{
+ return m_IsFastMathEnabled;
+}
+
+} // namespace armnn \ No newline at end of file