blob: 7271ac16432ff537d704d8c24438da10b3b3f041 [file] [log] [blame]
telsoa01ce3e84a2018-08-31 09:31:35 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beck93e48982018-09-05 13:05:09 +01003// SPDX-License-Identifier: MIT
telsoa01ce3e84a2018-08-31 09:31:35 +01004//
5
6#pragma once
7
8#include <armnn/ArmNN.hpp>
9
10#include <set>
11#include <string>
12
13namespace armnn_driver
14{
15
16class DriverOptions
17{
18public:
Nikhil Raj77605822018-09-03 11:25:56 +010019 DriverOptions(armnn::Compute computeDevice, bool fp16Enabled = false);
telsoa01ce3e84a2018-08-31 09:31:35 +010020 DriverOptions(int argc, char** argv);
21 DriverOptions(DriverOptions&& other) = default;
22
23 armnn::Compute GetComputeDevice() const { return m_ComputeDevice; }
24 bool IsVerboseLoggingEnabled() const { return m_VerboseLogging; }
25 const std::string& GetRequestInputsAndOutputsDumpDir() const { return m_RequestInputsAndOutputsDumpDir; }
26 const std::set<unsigned int>& GetForcedUnsupportedOperations() const { return m_ForcedUnsupportedOperations; }
27 const std::string& GetClTunedParametersFile() const { return m_ClTunedParametersFile; }
28 armnn::IGpuAccTunedParameters::Mode GetClTunedParametersMode() const { return m_ClTunedParametersMode; }
29 bool IsGpuProfilingEnabled() const { return m_EnableGpuProfiling; }
30 bool GetFp16Enabled() const { return m_fp16Enabled; }
31
32private:
33 armnn::Compute m_ComputeDevice;
34 bool m_VerboseLogging;
35 std::string m_RequestInputsAndOutputsDumpDir;
36 std::set<unsigned int> m_ForcedUnsupportedOperations;
37 std::string m_ClTunedParametersFile;
38 armnn::IGpuAccTunedParameters::Mode m_ClTunedParametersMode;
39 bool m_EnableGpuProfiling;
40 bool m_fp16Enabled;
41};
42
43} // namespace armnn_driver