// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include namespace armnn_driver { class DriverOptions { public: DriverOptions(armnn::Compute computeDevice, bool fp16Enabled = false); DriverOptions(const std::vector& backends, bool fp16Enabled); DriverOptions(int argc, char** argv); DriverOptions(DriverOptions&& other) = default; const std::vector& 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& GetForcedUnsupportedOperations() const { return m_ForcedUnsupportedOperations; } const std::string& GetClTunedParametersFile() const { return m_ClTunedParametersFile; } armnn::IGpuAccTunedParameters::Mode GetClTunedParametersMode() const { return m_ClTunedParametersMode; } armnn::IGpuAccTunedParameters::TuningLevel GetClTuningLevel() const { return m_ClTuningLevel; } bool IsGpuProfilingEnabled() const { return m_EnableGpuProfiling; } bool GetFp16Enabled() const { return m_fp16Enabled; } void SetBackends(const std::vector& backends) { m_Backends = backends; } private: std::vector m_Backends; bool m_VerboseLogging; std::string m_RequestInputsAndOutputsDumpDir; std::string m_ServiceName; std::set m_ForcedUnsupportedOperations; std::string m_ClTunedParametersFile; armnn::IGpuAccTunedParameters::Mode m_ClTunedParametersMode; armnn::IGpuAccTunedParameters::TuningLevel m_ClTuningLevel; bool m_EnableGpuProfiling; bool m_fp16Enabled; }; } // namespace armnn_driver