blob: 3c094fe5fe2a0392ffd3ed40a5063b015d97be0c [file] [log] [blame]
Kevin May42477c12020-03-26 13:34:14 +00001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <HalInterfaces.h>
9
10#include "../DriverOptions.hpp"
11
12#include <armnn/ArmNN.hpp>
13
Sadik Armagan188675f2021-02-12 17:16:42 +000014#if !defined(ARMNN_ANDROID_S)
Kevin May42477c12020-03-26 13:34:14 +000015using namespace android::nn::hal;
Sadik Armagan188675f2021-02-12 17:16:42 +000016#endif
17
18#ifdef ARMNN_ANDROID_S
19using namespace android::hardware;
20#endif
Kevin May42477c12020-03-26 13:34:14 +000021
22namespace V1_0 = ::android::hardware::neuralnetworks::V1_0;
23namespace V1_2 = ::android::hardware::neuralnetworks::V1_2;
24namespace V1_3 = ::android::hardware::neuralnetworks::V1_3;
25
26namespace armnn_driver
27{
28namespace hal_1_3
29{
30
31class ArmnnDriverImpl
32{
33public:
34 static Return<V1_3::ErrorStatus> prepareArmnnModel_1_3(const armnn::IRuntimePtr& runtime,
35 const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
36 const DriverOptions& options,
37 const V1_3::Model& model,
38 const android::sp<V1_3::IPreparedModelCallback>& cb,
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +010039 bool float32ToFloat16 = false,
40 V1_3::Priority priority = V1_3::Priority::MEDIUM);
Kevin May42477c12020-03-26 13:34:14 +000041
42 static Return<void> getCapabilities_1_3(const armnn::IRuntimePtr& runtime,
43 V1_3::IDevice::getCapabilities_1_3_cb cb);
44};
45
46} // namespace hal_1_3
47} // namespace armnn_driver