diff options
author | telsoa01 <telmo.soares@arm.com> | 2018-03-09 13:51:08 +0000 |
---|---|---|
committer | telsoa01 <telmo.soares@arm.com> | 2018-03-09 14:05:45 +0000 |
commit | 5307bc10ac488261e84ac76b2dede6039ea3fe96 (patch) | |
tree | 09de3cc29026ca9722179f6beb25b9a66efcf88e /ArmnnDriver.hpp | |
download | android-nn-driver-5307bc10ac488261e84ac76b2dede6039ea3fe96.tar.gz |
Release 18.02
Change-Id: I41a89c149534a7c354a58e2c66a32cba572fc0c1
Diffstat (limited to 'ArmnnDriver.hpp')
-rw-r--r-- | ArmnnDriver.hpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ArmnnDriver.hpp b/ArmnnDriver.hpp new file mode 100644 index 00000000..8b66e774 --- /dev/null +++ b/ArmnnDriver.hpp @@ -0,0 +1,61 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// + +#pragma once + +#include "HalInterfaces.h" +#include "NeuralNetworks.h" +#include <armnn/ArmNN.hpp> + +#include <memory> +#include <set> +#include <string> + +namespace armnn_driver +{ + +class DriverOptions +{ +public: + DriverOptions(armnn::Compute computeDevice); + DriverOptions(int argc, char** argv); + DriverOptions(DriverOptions&& other) = default; + + armnn::Compute GetComputeDevice() const { return m_ComputeDevice; } + bool IsVerboseLoggingEnabled() const { return m_VerboseLogging; } + const std::string& GetRequestInputsAndOutputsDumpDir() const { return m_RequestInputsAndOutputsDumpDir; } + bool UseAndroidNnCpuExecutor() const { return m_UseAndroidNnCpuExecutor; } + const std::set<unsigned int>& GetForcedUnsupportedOperations() const { return m_ForcedUnsupportedOperations; } + const std::string& GetClTunedParametersFile() const { return m_ClTunedParametersFile; } + armnn::IClTunedParameters::Mode GetClTunedParametersMode() const { return m_ClTunedParametersMode; } + +private: + armnn::Compute m_ComputeDevice; + bool m_VerboseLogging; + bool m_UseAndroidNnCpuExecutor; + std::string m_RequestInputsAndOutputsDumpDir; + std::set<unsigned int> m_ForcedUnsupportedOperations; + std::string m_ClTunedParametersFile; + armnn::IClTunedParameters::Mode m_ClTunedParametersMode; +}; + +class ArmnnDriver : public IDevice { +public: + ArmnnDriver(DriverOptions options); + virtual ~ArmnnDriver() {} + virtual Return<void> getCapabilities(getCapabilities_cb _hidl_cb) override; + virtual Return<void> getSupportedOperations(const Model &model, + getSupportedOperations_cb _hidl_cb) override; + virtual Return<ErrorStatus> prepareModel(const Model &model, + const android::sp<IPreparedModelCallback>& callback); + virtual Return<DeviceStatus> getStatus() override; + +private: + armnn::IRuntimePtr m_Runtime; + armnn::IClTunedParametersPtr m_ClTunedParameters; + DriverOptions m_Options; +}; + +} |