blob: 2628682d7b63221ca37bf69f0eab8a0073a2619a [file] [log] [blame]
telsoa01ce3e84a2018-08-31 09:31:35 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// See LICENSE file in the project root for full license information.
4//
5
6#pragma once
7
8#include <HalInterfaces.h>
9
10#include "DriverOptions.hpp"
11
12#include <armnn/ArmNN.hpp>
13
14namespace armnn_driver
15{
16namespace V1_0
17{
18
19class ArmnnDriverImpl
20{
21public:
22 static Return<void> getCapabilities(
23 const armnn::IRuntimePtr& runtime,
24 ::android::hardware::neuralnetworks::V1_0::IDevice::getCapabilities_cb cb);
25 static Return<void> getSupportedOperations(
26 const armnn::IRuntimePtr& runtime,
27 const DriverOptions& options,
28 const ::android::hardware::neuralnetworks::V1_0::Model& model,
29 ::android::hardware::neuralnetworks::V1_0::IDevice::getSupportedOperations_cb cb);
30 static Return<ErrorStatus> prepareModel(
31 const armnn::IRuntimePtr& runtime,
32 const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
33 const DriverOptions& options,
34 const ::android::hardware::neuralnetworks::V1_0::Model& model,
35 const android::sp<IPreparedModelCallback>& cb,
36 bool float32ToFloat16 = false);
37 static Return<DeviceStatus> getStatus();
38};
39
40} // namespace armnn_driver::V1_0
41} // namespace armnn_driver