• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 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 #include "NamespaceAdaptor.hpp"
12 
13 #include <armnn/ArmNN.hpp>
14 
15 #if ARMNN_ANDROID_S
16 using namespace android::nn;
17 #elif ARMNN_ANDROID_R
18 using namespace android::nn::hal;
19 #endif
20 
21 namespace V1_0 = ::android::hardware::neuralnetworks::V1_0;
22 namespace V1_2 = ::android::hardware::neuralnetworks::V1_2;
23 
24 namespace armnn_driver
25 {
26 namespace hal_1_2
27 {
28 
29 class ArmnnDriverImpl
30 {
31 public:
32     static Return<V1_0::ErrorStatus> prepareArmnnModel_1_2(const armnn::IRuntimePtr& runtime,
33                                                            const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
34                                                            const DriverOptions& options,
35                                                            const V1_2::Model& model,
36                                                            const android::sp<V1_2::IPreparedModelCallback>& cb,
37                                                            bool float32ToFloat16 = false);
38 
39     static Return<void> getCapabilities_1_2(const armnn::IRuntimePtr& runtime,
40                                             V1_2::IDevice::getCapabilities_1_2_cb cb);
41 };
42 
43 } // namespace hal_1_2
44 } // namespace armnn_driver
45