aboutsummaryrefslogtreecommitdiff
path: root/shim/sl/canonical/DriverOptions.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'shim/sl/canonical/DriverOptions.hpp')
-rw-r--r--shim/sl/canonical/DriverOptions.hpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/shim/sl/canonical/DriverOptions.hpp b/shim/sl/canonical/DriverOptions.hpp
new file mode 100644
index 0000000000..4c6b385a48
--- /dev/null
+++ b/shim/sl/canonical/DriverOptions.hpp
@@ -0,0 +1,69 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <armnn/ArmNN.hpp>
+
+#include <set>
+#include <string>
+#include <vector>
+
+namespace armnn_driver
+{
+
+class DriverOptions
+{
+public:
+ DriverOptions(armnn::Compute computeDevice, bool fp16Enabled = false);
+ DriverOptions(const std::vector<armnn::BackendId>& backends, bool fp16Enabled = false);
+ DriverOptions();
+ DriverOptions(DriverOptions&& other) = default;
+
+
+ const std::vector<armnn::BackendId>& GetBackends() const { return m_Backends; }
+ bool IsVerboseLoggingEnabled() const { return m_VerboseLogging; }
+ const std::string& GetRequestInputsAndOutputsDumpDir() const { return m_RequestInputsAndOutputsDumpDir; }
+ const std::string& GetServiceName() const { return m_ServiceName; }
+ const std::set<unsigned int>& GetForcedUnsupportedOperations() const { return m_ForcedUnsupportedOperations; }
+ const std::string& GetClTunedParametersFile() const { return m_ClTunedParametersFile; }
+ const std::string& GetClMLGOTunedParametersFile() const { return m_ClMLGOTunedParametersFile; }
+ armnn::IGpuAccTunedParameters::Mode GetClTunedParametersMode() const { return m_ClTunedParametersMode; }
+ armnn::IGpuAccTunedParameters::TuningLevel GetClTuningLevel() const { return m_ClTuningLevel; }
+ bool IsGpuProfilingEnabled() const { return m_EnableGpuProfiling; }
+ bool IsFastMathEnabled() const { return m_FastMathEnabled; }
+ bool GetFp16Enabled() const { return m_fp16Enabled; }
+ void SetBackends(const std::vector<armnn::BackendId>& backends) { m_Backends = backends; }
+ bool ShouldExit() const { return m_ShouldExit; }
+ int GetExitCode() const { return m_ExitCode; }
+ const std::string& GetCachedNetworkFilePath() const { return m_CachedNetworkFilePath; }
+ bool SaveCachedNetwork() const { return m_SaveCachedNetwork; }
+ unsigned int GetNumberOfThreads() const { return m_NumberOfThreads; }
+ bool isAsyncModelExecutionEnabled() const { return m_EnableAsyncModelExecution; };
+ unsigned int getNoOfArmnnThreads() const { return m_ArmnnNumberOfThreads; };
+
+private:
+ std::vector<armnn::BackendId> m_Backends;
+ bool m_VerboseLogging;
+ std::string m_RequestInputsAndOutputsDumpDir;
+ std::string m_ServiceName;
+ std::set<unsigned int> m_ForcedUnsupportedOperations;
+ std::string m_ClTunedParametersFile;
+ std::string m_ClMLGOTunedParametersFile;
+ armnn::IGpuAccTunedParameters::Mode m_ClTunedParametersMode;
+ armnn::IGpuAccTunedParameters::TuningLevel m_ClTuningLevel;
+ bool m_EnableGpuProfiling;
+ bool m_fp16Enabled;
+ bool m_FastMathEnabled;
+ bool m_ShouldExit;
+ int m_ExitCode;
+ std::string m_CachedNetworkFilePath;
+ bool m_SaveCachedNetwork;
+ unsigned int m_NumberOfThreads;
+ bool m_EnableAsyncModelExecution;
+ unsigned int m_ArmnnNumberOfThreads;
+};
+
+} // namespace armnn_driver