aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/ClBackendModelContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/cl/ClBackendModelContext.cpp')
-rw-r--r--src/backends/cl/ClBackendModelContext.cpp29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/backends/cl/ClBackendModelContext.cpp b/src/backends/cl/ClBackendModelContext.cpp
index 0ef26b64d2..b685bc296c 100644
--- a/src/backends/cl/ClBackendModelContext.cpp
+++ b/src/backends/cl/ClBackendModelContext.cpp
@@ -17,13 +17,22 @@ bool ParseBool(const armnn::BackendOptions::Var& value, bool defaultValue)
return defaultValue;
}
+std::string ParseFile(const armnn::BackendOptions::Var& value, std::string defaultValue)
+{
+ if (value.IsString())
+ {
+ return value.AsString();
+ }
+ return defaultValue;
+}
+
} // namespace anonymous
namespace armnn
{
ClBackendModelContext::ClBackendModelContext(const ModelOptions& modelOptions)
- : m_IsFastMathEnabled(false)
+ : m_CachedNetworkFilePath(""), m_IsFastMathEnabled(false), m_SaveCachedNetwork(false)
{
if (!modelOptions.empty())
{
@@ -33,13 +42,31 @@ ClBackendModelContext::ClBackendModelContext(const ModelOptions& modelOptions)
{
m_IsFastMathEnabled |= ParseBool(value, false);
}
+ if (name == "SaveCachedNetwork")
+ {
+ m_SaveCachedNetwork |= ParseBool(value, false);
+ }
+ if (name == "CachedNetworkFilePath")
+ {
+ m_CachedNetworkFilePath = ParseFile(value, "");
+ }
});
}
}
+std::string ClBackendModelContext::GetCachedNetworkFilePath() const
+{
+ return m_CachedNetworkFilePath;
+}
+
bool ClBackendModelContext::IsFastMathEnabled() const
{
return m_IsFastMathEnabled;
}
+bool ClBackendModelContext::SaveCachedNetwork() const
+{
+ return m_SaveCachedNetwork;
+}
+
} // namespace armnn \ No newline at end of file