aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Grottesi <otaner@google.com>2023-07-13 15:37:39 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-07-13 15:37:39 +0000
commit5981fb8c82e67fd3b39af0f5fa661b1777eb4aef (patch)
tree6fd69f1ccfe17fc12f05419b5ef10dbbc0c436bc
parent396558887c43c6c3a11649ba98f01e25badb18e3 (diff)
parentdebd7acb258a81995caed1aa7de7dfae72cfa27b (diff)
downloadandroid-nn-driver-5981fb8c82e67fd3b39af0f5fa661b1777eb4aef.tar.gz
Merge "Revert^4 "Compile ArmNN shim over the support library"" into main
-rw-r--r--Android.bp41
-rw-r--r--Android.mk1170
-rw-r--r--OWNERS1
-rw-r--r--test/Android.mk535
4 files changed, 1 insertions, 1746 deletions
diff --git a/Android.bp b/Android.bp
deleted file mode 100644
index 931f4d7..0000000
--- a/Android.bp
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// Copyright © 2017 ARM Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-package {
- default_applicable_licenses: ["external_android-nn-driver_license"],
-}
-
-// This Android.bp was used in upstream to build libflatbuffer.
-// Instead, we'll use the one from external.
-
-// Added automatically by a large-scale-change that took the approach of
-// 'apply every license found to every target'. While this makes sure we respect
-// every license restriction, it may not be entirely correct.
-//
-// e.g. GPL in an MIT project might only apply to the contrib/ directory.
-//
-// Please consider splitting the single license below into multiple licenses,
-// taking care not to lose any license_kind information, and overriding the
-// default license using the 'licenses: [...]' property on targets as needed.
-//
-// For unused files, consider creating a 'fileGroup' with "//visibility:private"
-// to attach the license to, and including a comment whether the files may be
-// used in the current project.
-// See: http://go/android-license-faq
-license {
- name: "external_android-nn-driver_license",
- visibility: [":__subpackages__"],
- license_kinds: [
- "SPDX-license-identifier-Apache-2.0",
- "SPDX-license-identifier-MIT",
- ],
- license_text: [
- "LICENSE",
- ],
-}
-
-subdirs = [
- "armnn",
-]
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index ab2bfcd..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,1170 +0,0 @@
-#
-# Copyright © 2022 ARM Ltd. and Contributors. All rights reserved.
-# SPDX-License-Identifier: MIT
-#
-
-ANDROID_NN_DRIVER_LOCAL_PATH := $(call my-dir)
-LOCAL_PATH := $(ANDROID_NN_DRIVER_LOCAL_PATH)
-
-P_OR_LATER := 0
-Q_OR_LATER := 0
-R_OR_LATER := 0
-S_OR_LATER := 0
-ANDROID_R := 0
-ANDROID_S := 0
-
-ifeq ($(PLATFORM_VERSION),9)
-P_OR_LATER := 1
-endif # PLATFORM_VERSION == 9
-ifeq ($(PLATFORM_VERSION),P)
-P_OR_LATER := 1
-endif # PLATFORM_VERSION == P
-
-ifeq ($(PLATFORM_VERSION),10)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-endif # PLATFORM_VERSION == 10
-ifeq ($(PLATFORM_VERSION),Q)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(PLATFORM_VERSION),R)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-ANDROID_R := 1
-endif # PLATFORM_VERSION == R
-
-ifeq ($(PLATFORM_VERSION),11)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-ANDROID_R := 1
-endif # PLATFORM_VERSION == 11
-
-ifeq ($(PLATFORM_VERSION),S)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-S_OR_LATER := 1
-ANDROID_R := 0
-ANDROID_S := 1
-endif # PLATFORM_VERSION == S
-
-ifeq ($(PLATFORM_VERSION),12)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-S_OR_LATER := 1
-ANDROID_R := 0
-ANDROID_S := 1
-endif # PLATFORM_VERSION == 12
-
-ifeq ($(PLATFORM_VERSION),T)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-S_OR_LATER := 1
-ANDROID_R := 0
-ANDROID_S := 1
-endif # PLATFORM_VERSION == S
-
-ifeq ($(PLATFORM_VERSION),13)
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-S_OR_LATER := 1
-ANDROID_R := 0
-ANDROID_S := 1
-endif # PLATFORM_VERSION == 13
-
-# Override the flags to force Android S even though we are at U.
-P_OR_LATER := 1
-Q_OR_LATER := 1
-R_OR_LATER := 1
-S_OR_LATER := 1
-ANDROID_R := 0
-ANDROID_S := 1
-
-CPP_VERSION := c++14
-
-ifeq ($(Q_OR_LATER),1)
-CPP_VERSION := c++17
-endif
-
-# Configure these paths if you move the source or Khronos headers
-ARMNN_GENERATED_HEADER_PATH := $(LOCAL_PATH)/../armnn/generated
-ARMNN_PROFILING_HEADER_PATH := $(LOCAL_PATH)/../armnn/profiling
-ARMNN_COMMON_PROFILING_HEADER_PATH := $(LOCAL_PATH)/../armnn/profiling/common/include
-ARMNN_CLIENT_PROFILING_HEADER_PATH := $(LOCAL_PATH)/../armnn/profiling/client/include
-ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
-ARMNN_BACKEND_MAKEFILE_LOCAL_PATHS := $(wildcard $(LOCAL_PATH)/../armnn/src/backends/*/backend.mk)
-ARMNN_BACKEND_MAKEFILE_PATHS := $(subst $(LOCAL_PATH),,$(ARMNN_BACKEND_MAKEFILE_LOCAL_PATHS))
-ARMNN_BACKEND_MAKEFILE_DIRS := $(subst /backend.mk,,$(ARMNN_BACKEND_MAKEFILE_PATHS))
-ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
-ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
-OPENCL_HEADER_PATH := $(LOCAL_PATH)/clframework/include
-NN_HEADER_PATH := $(LOCAL_PATH)/../../../frameworks/ml/nn/runtime/include
-ifeq ($(S_OR_LATER),1)
-NN_HEADER_PATH := $(LOCAL_PATH)/../../packages/modules/NeuralNetworks/runtime/include
-endif
-
-# Variables to control CL/NEON/reference backend support
-# Set them to '0' to disable support for a specific backend
-ARMNN_COMPUTE_CL_ENABLED := 0
-ARMNN_COMPUTE_NEON_ENABLED := 0
-ARMNN_REF_ENABLED := 1
-ARMNN_ETHOSN_ENABLED := 0
-
-ifeq ($(ARMNN_COMPUTE_CL_ENABLE),1)
-ARMNN_COMPUTE_CL_ENABLED := 1
-endif
-
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLE),1)
-ARMNN_COMPUTE_NEON_ENABLED := 1
-endif
-
-ifeq ($(ARMNN_REF_ENABLE),0)
-ARMNN_REF_ENABLED := 0
-endif
-
-ifeq ($(ARMNN_ETHOSN_ENABLE),1)
-ARMNN_ETHOSN_ENABLED := 1
-endif
-
-# Variable to control inclusion of libOpenCL shared library
-ARMNN_INCLUDE_LIBOPENCL := $(ARMNN_COMPUTE_CL_ENABLED)
-ifeq ($(ARMNN_LIBOPENCL),0)
-ARMNN_INCLUDE_LIBOPENCL := 0
-endif
-
-# Variable to control retire rate of priority queue
-RETIRE_RATE := 3
-
-# Placeholder to hold all backend link files.
-ARMNN_BACKEND_STATIC_LIBRARIES :=
-ARMNN_BACKEND_SHARED_LIBRARIES :=
-
-ifeq ($(TARGET_ARCH),arm)
-ARMNN_BACKEND_STATIC_LIBRARIES += arm_compute_library
-endif
-ifeq ($(TARGET_ARCH),arm64)
-ARMNN_BACKEND_STATIC_LIBRARIES += arm_compute_library
-endif
-
-# Iterate through the Arm NN backends and specific include paths, include them into the
-# current makefile and append the linkfiles held by
-# the optional BACKEND_STATIC_LIBRARIES and optional BACKEND_SHARED_LIBRARIES variable
-# (included from the given makefile) to
-# the ARMNN_BACKEND_STATIC_LIBRARIES and ARMNN_BACKEND_SHARED_LIBRARIES lists
-
-$(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS),\
- $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\
- $(eval ARMNN_BACKEND_STATIC_LIBRARIES += $(BACKEND_STATIC_LIBRARIES)))
-
-$(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS),\
- $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\
- $(eval ARMNN_BACKEND_SHARED_LIBRARIES += $(BACKEND_SHARED_LIBRARIES)))
-
-#######################
-# libarmnn-driver@1.0 #
-#######################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libarmnn-driver@1.0
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -Wno-format-security
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS+= \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=libarmnndriver10MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-ifeq ($(ARMNN_ETHOSN_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNETHOSN_ENABLED
-endif # ARMNN_ETHOSN_ENABLED == 1
-
-LOCAL_SRC_FILES := \
- 1.0/ArmnnDriverImpl.cpp \
- 1.0/HalPolicy.cpp \
- ArmnnDriverImpl.cpp \
- DriverOptions.cpp \
- ArmnnDevice.cpp \
- ArmnnPreparedModel.cpp \
- ModelToINetworkConverter.cpp \
- RequestThread.cpp \
- Utils.cpp \
- ConversionUtils.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(P_OR_LATER),1)
-# Required to build the 1.0 version of the NN Driver on Android P and later versions,
-# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
-LOCAL_SHARED_LIBRARIES+= \
- android.hardware.neuralnetworks@1.1
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # Q or later
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-include $(BUILD_STATIC_LIBRARY)
-
-ifeq ($(P_OR_LATER),1)
-# The following target is available starting from Android P
-
-#######################
-# libarmnn-driver@1.1 #
-#######################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libarmnn-driver@1.1
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-#PRODUCT_PACKAGES_ENG := libarmnn-driver@1.1
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -Wall \
- -Wextra \
- -Wno-unused-function \
- -Wno-format-security \
- -DARMNN_ANDROID_NN_V1_1
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS+= \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=libarmnnDriver11MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-ifeq ($(ARMNN_ETHOSN_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNETHOSN_ENABLED
-endif # ARMNN_ETHOSN_ENABLED == 1
-
-LOCAL_SRC_FILES := \
- 1.0/ArmnnDriverImpl.cpp \
- 1.0/HalPolicy.cpp \
- 1.1/ArmnnDriverImpl.cpp \
- 1.1/HalPolicy.cpp \
- ArmnnDriverImpl.cpp \
- DriverOptions.cpp \
- ArmnnDevice.cpp \
- ArmnnPreparedModel.cpp \
- ModelToINetworkConverter.cpp \
- RequestThread.cpp \
- Utils.cpp \
- ConversionUtils.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-include $(BUILD_STATIC_LIBRARY)
-
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-# The following target is available starting from Android Q
-
-#######################
-# libarmnn-driver@1.2 #
-#######################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libarmnn-driver@1.2
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_MODULE_TAGS := optional
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -Wall \
- -Wextra \
- -Wno-unused-function \
- -Wno-format-security \
- -DARMNN_ANDROID_NN_V1_2
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS+= \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=libarmnnDriver12MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-ifeq ($(ARMNN_ETHOSN_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNETHOSN_ENABLED
-endif # ARMNN_ETHOSN_ENABLED == 1
-
-LOCAL_SRC_FILES := \
- 1.0/ArmnnDriverImpl.cpp \
- 1.0/HalPolicy.cpp \
- 1.1/ArmnnDriverImpl.cpp \
- 1.1/HalPolicy.cpp \
- 1.2/ArmnnDriverImpl.cpp \
- 1.2/HalPolicy.cpp \
- ArmnnDevice.cpp \
- ArmnnDriverImpl.cpp \
- ArmnnPreparedModel.cpp \
- ArmnnPreparedModel_1_2.cpp \
- CacheDataHandler.cpp \
- ConversionUtils.cpp \
- DriverOptions.cpp \
- ModelToINetworkConverter.cpp \
- RequestThread.cpp \
- Utils.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libutils \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-include $(BUILD_STATIC_LIBRARY)
-
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-# The following target is available starting from Android R
-
-#######################
-# libarmnn-driver@1.3 #
-#######################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libarmnn-driver@1.3
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_MODULE_TAGS := optional
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -Wall \
- -Wextra \
- -Wno-unused-function \
- -Wno-format-security \
- -DARMNN_ANDROID_NN_V1_3 \
-
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS+= \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=libarmnnDriver13MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-ifeq ($(ARMNN_ETHOSN_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNETHOSN_ENABLED
-endif # ARMNN_ETHOSN_ENABLED == 1
-
-LOCAL_CFLAGS += \
- -DRETIRE_RATE=$(RETIRE_RATE)
-
-LOCAL_SRC_FILES := \
- 1.0/ArmnnDriverImpl.cpp \
- 1.0/HalPolicy.cpp \
- 1.1/ArmnnDriverImpl.cpp \
- 1.1/HalPolicy.cpp \
- 1.2/ArmnnDriverImpl.cpp \
- 1.2/HalPolicy.cpp \
- 1.3/ArmnnDriverImpl.cpp \
- 1.3/HalPolicy.cpp \
- ArmnnDevice.cpp \
- ArmnnDriverImpl.cpp \
- ArmnnPreparedModel.cpp \
- ArmnnPreparedModel_1_2.cpp \
- ArmnnPreparedModel_1_3.cpp \
- CacheDataHandler.cpp \
- ConversionUtils.cpp \
- DriverOptions.cpp \
- ModelToINetworkConverter.cpp \
- RequestThread.cpp \
- RequestThread_1_3.cpp \
- Utils.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libutils \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- libsync \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2 \
- android.hardware.neuralnetworks@1.3
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-include $(BUILD_STATIC_LIBRARY)
-
-endif # PLATFORM_VERSION == R
-
-#####################################################
-# android.hardware.neuralnetworks@1.0-service-armnn #
-#####################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-armnn
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-armnn.rc
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-LOCAL_ARM_MODE := arm
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS += \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=neuralNetworks10MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-LOCAL_SRC_FILES := \
- service.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.0
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- libdl \
- libhardware \
- liblog \
- libtextclassifier_hash \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- $(ARMNN_BACKEND_SHARED_LIBRARIES)
-
-ifeq ($(P_OR_LATER),1)
-# Required to build the 1.0 version of the NN Driver on Android P and later versions,
-# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
-LOCAL_SHARED_LIBRARIES+= \
- android.hardware.neuralnetworks@1.1
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # PLATFORM_VERSION == Q
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= android.hardware.neuralnetworks@1.3
-endif # PLATFORM_VERSION == R
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-include $(BUILD_EXECUTABLE)
-
-ifeq ($(P_OR_LATER),1)
-# The following target is available starting from Android P
-
-#####################################################
-# android.hardware.neuralnetworks@1.1-service-armnn #
-#####################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-armnn
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-armnn.rc
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-LOCAL_ARM_MODE := arm
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -DARMNN_ANDROID_NN_V1_1
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS += \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=neuralNetworks11MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-LOCAL_SRC_FILES := \
- service.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.1
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- libdl \
- libhardware \
- liblog \
- libtextclassifier_hash \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- $(ARMNN_BACKEND_SHARED_LIBRARIES)
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # PLATFORM_VERSION == R
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-endif
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= android.hardware.neuralnetworks@1.3
-endif # PLATFORM_VERSION == R
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-# The following target is available starting from Android Q
-
-#####################################################
-# android.hardware.neuralnetworks@1.2-service-armnn #
-#####################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-armnn
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-armnn.rc
-LOCAL_MODULE_TAGS := optional
-LOCAL_ARM_MODE := arm
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -DARMNN_ANDROID_NN_V1_2 \
- -Wno-unused-variable \
- -Wno-unneeded-internal-declaration \
- -Wno-unused-function \
- -Wno-unused-local-typedef
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS += \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=neuralNetworks12MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-LOCAL_SRC_FILES := \
- service.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.2
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- libdl \
- libhardware \
- liblog \
- libtextclassifier_hash \
- libutils \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2 \
- $(ARMNN_BACKEND_SHARED_LIBRARIES)
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-
-
-LOCAL_LDFLAGS_32 := -Wl,-rpath,/vendor/lib/egl
-LOCAL_LDFLAGS_64 := -Wl,-rpath,/vendor/lib64/egl
-endif
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-# The following target is available starting from Android R
-
-#####################################################
-# android.hardware.neuralnetworks@1.3-service-armnn #
-#####################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-armnn
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-armnn.rc
-LOCAL_MODULE_TAGS := optional
-LOCAL_ARM_MODE := arm
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(ARMNN_GENERATED_HEADER_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_PROFILING_HEADER_PATH) \
- $(ARMNN_COMMON_PROFILING_HEADER_PATH) \
- $(ARMNN_CLIENT_PROFILING_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(NN_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -DARMNN_ANDROID_NN_V1_3 \
-
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-ifeq ($(ARMNN_DRIVER_DEBUG),1)
-LOCAL_CFLAGS += \
- -UNDEBUG
-LOCAL_LDFLAGS += \
- -Wl,-Map=neuralNetworks13MapFile.map
-endif # ARMNN_DRIVER_DEBUG == 1
-
-LOCAL_SRC_FILES := \
- service.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.3
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- libdl \
- libhardware \
- liblog \
- libtextclassifier_hash \
- libutils \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- libsync \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0 \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2 \
- android.hardware.neuralnetworks@1.3 \
- $(ARMNN_BACKEND_SHARED_LIBRARIES)
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
- LOCAL_SHARED_LIBRARIES += libGLES_mali
-else
- LOCAL_SHARED_LIBRARIES += libOpenCL
-endif
-LOCAL_LDFLAGS_32 := -Wl,-rpath,/vendor/lib/egl
-LOCAL_LDFLAGS_64 := -Wl,-rpath,/vendor/lib64/egl
-endif
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == R
-
-##########################
-# armnn module and tests #
-##########################
-# Note we use ANDROID_NN_DRIVER_LOCAL_PATH rather than LOCAL_PATH because LOCAL_PATH will be overwritten
-# when including other .mk files that set it.
-#include $(ANDROID_NN_DRIVER_LOCAL_PATH)/armnn/Android.mk
-#include $(ANDROID_NN_DRIVER_LOCAL_PATH)/test/Android.mk
diff --git a/OWNERS b/OWNERS
index 4797ae5..7862a7e 100644
--- a/OWNERS
+++ b/OWNERS
@@ -2,3 +2,4 @@ jessehall@google.com
kevindubois@google.com
linjoey@google.com
spyffe@google.com
+otaner@google.com
diff --git a/test/Android.mk b/test/Android.mk
deleted file mode 100644
index f3e753a..0000000
--- a/test/Android.mk
+++ /dev/null
@@ -1,535 +0,0 @@
-#
-# Copyright © 2017, 2022 ARM Ltd. All rights reserved.
-# SPDX-License-Identifier: MIT
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# Configure these paths if you move the source or Khronos headers
-#
-OPENCL_HEADER_PATH := $(LOCAL_PATH)/../../mali/product/khronos/original
-ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
-ARMNN_PROFILING_PATH := $(LOCAL_PATH)/../armnn/profiling
-ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
-ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
-ARMNN_DRIVER_HEADER_PATH := $(LOCAL_PATH)/..
-
-NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
-ifeq ($(S_OR_LATER),1)
-NN_HEADER_PATH := $(LOCAL_PATH)/../../../../packages/modules/NeuralNetworks/runtime/include
-endif
-
-##########################
-# armnn-driver-tests@1.0 #
-##########################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := armnn-driver-tests@1.0
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_PROFILING_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(ARMNN_DRIVER_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -O0 \
- -UNDEBUG
-
-# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-# The variable to enable/disable the REFERENCE backend (ARMNN_REF_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif # R or later
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif # S or later
-
-LOCAL_SRC_FILES := \
- 1.0/Convolution2D.cpp \
- 1.0/FullyConnectedReshape.cpp \
- 1.0/Lstm.cpp \
- Tests.cpp \
- UtilsTests.cpp \
- Concurrent.cpp \
- FullyConnected.cpp \
- GenericLayerTests.cpp \
- DriverTestHelpers.cpp \
- SystemProperties.cpp \
- Concat.cpp \
- TestTensor.cpp \
- TestHalfTensor.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- arm_compute_library \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.0
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libtextclassifier_hash \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(P_OR_LATER),1)
-# Required to build the 1.0 version of the NN Driver on Android P and later versions,
-# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
-LOCAL_SHARED_LIBRARIES+= \
- android.hardware.neuralnetworks@1.1
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-LOCAL_SHARED_LIBRARIES+= \
- libGLES_mali
-endif
-
-include $(BUILD_EXECUTABLE)
-
-ifeq ($(P_OR_LATER),1)
-# The following target is available starting from Android P
-
-##########################
-# armnn-driver-tests@1.1 #
-##########################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := armnn-driver-tests@1.1
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
-ifeq ($(Q_OR_LATER),1)
-# "eng" is deprecated in Android Q
-LOCAL_MODULE_TAGS := optional
-else
-LOCAL_MODULE_TAGS := eng optional
-endif
-#PRODUCT_PACKAGES_ENG := libarmnn
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_PROFILING_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(ARMNN_DRIVER_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -O0 \
- -UNDEBUG \
- -DARMNN_ANDROID_NN_V1_1
-
-# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-# The variable to enable/disable the REFERENCE backend (ARMNN_REF_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif # R or later
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif # S or later
-
-LOCAL_SRC_FILES := \
- 1.0/Convolution2D.cpp \
- 1.1/Convolution2D.cpp \
- 1.1/Mean.cpp \
- 1.1/Transpose.cpp \
- 1.0/Lstm.cpp \
- 1.1/Lstm.cpp \
- Tests.cpp \
- UtilsTests.cpp \
- Concurrent.cpp \
- FullyConnected.cpp \
- GenericLayerTests.cpp \
- DriverTestHelpers.cpp \
- SystemProperties.cpp \
- Concat.cpp \
- TestTensor.cpp \
- TestHalfTensor.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- arm_compute_library \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.1
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libtextclassifier_hash \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(Q_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libnativewindow \
- libui \
- libfmq \
- libcutils \
- android.hardware.neuralnetworks@1.2
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-LOCAL_SHARED_LIBRARIES+= \
- libGLES_mali
-endif
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == 9
-
-ifeq ($(Q_OR_LATER),1)
-# The following target is available starting from Android Q
-
-##########################
-# armnn-driver-tests@1.2 #
-##########################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := armnn-driver-tests@1.2
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_PROFILING_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(ARMNN_DRIVER_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -O0 \
- -UNDEBUG \
- -DARMNN_ANDROID_NN_V1_2
-
-# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-# The variable to enable/disable the REFERENCE backend (ARMNN_REF_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-# Required to build with the changes made to the Android ML framework specific to Android R
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif # R or later
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif # S or later
-
-LOCAL_SRC_FILES := \
- 1.0/Convolution2D.cpp \
- 1.1/Convolution2D.cpp \
- 1.1/Mean.cpp \
- 1.1/Transpose.cpp \
- 1.2/Dilation.cpp \
- 1.2/Capabilities.cpp \
- 1.2/Mean.cpp \
- 1.0/Lstm.cpp \
- 1.1/Lstm.cpp \
- 1.2/Lstm.cpp \
- 1.2/UnidirectionalSequenceLstm.cpp \
- Tests.cpp \
- UtilsTests.cpp \
- Concurrent.cpp \
- FullyConnected.cpp \
- GenericLayerTests.cpp \
- DriverTestHelpers.cpp \
- SystemProperties.cpp \
- Concat.cpp \
- TestTensor.cpp \
- TestHalfTensor.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- arm_compute_library \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.2
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libcutils \
- libfmq \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libnativewindow \
- libtextclassifier_hash \
- libui \
- libutils \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(R_OR_LATER),1)
-LOCAL_SHARED_LIBRARIES+= \
- libsync \
- android.hardware.neuralnetworks@1.3
-endif # R or later
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-LOCAL_SHARED_LIBRARIES+= \
- libGLES_mali
-endif
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == Q
-
-ifeq ($(R_OR_LATER),1)
-# The following target is available starting from Android R
-
-##########################
-# armnn-driver-tests@1.3 #
-##########################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := armnn-driver-tests@1.3
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_ARM_MODE := arm
-LOCAL_PROPRIETARY_MODULE := true
-
-# Mark source files as dependent on Android.mk
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_C_INCLUDES := \
- $(OPENCL_HEADER_PATH) \
- $(NN_HEADER_PATH) \
- $(ARMNN_HEADER_PATH) \
- $(ARMNN_PROFILING_PATH) \
- $(ARMNN_THIRD_PARTY_PATH) \
- $(ARMNN_UTILS_HEADER_PATH) \
- $(ARMNN_DRIVER_HEADER_PATH)
-
-LOCAL_CFLAGS := \
- -std=$(CPP_VERSION) \
- -fexceptions \
- -Werror \
- -O0 \
- -UNDEBUG \
- -DARMNN_ANDROID_NN_V1_3
-
-# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTECL_ENABLED
-endif # ARMNN_COMPUTE_CL_ENABLED == 1
-# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMCOMPUTENEON_ENABLED
-endif # ARMNN_COMPUTE_NEON_ENABLED == 1
-# The variable to enable/disable the REFERENCE backend (ARMNN_REF_ENABLED) is declared in android-nn-driver/Android.mk
-ifeq ($(ARMNN_REF_ENABLED),1)
-LOCAL_CFLAGS += \
- -DARMNNREF_ENABLED
-endif # ARMNN_REF_ENABLED == 1
-
-ifeq ($(ANDROID_R),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_R
-endif
-
-ifeq ($(ANDROID_S),1)
-LOCAL_CFLAGS+= \
- -DARMNN_ANDROID_S
-endif
-
-LOCAL_SRC_FILES := \
- 1.0/Convolution2D.cpp \
- 1.1/Convolution2D.cpp \
- 1.1/Mean.cpp \
- 1.1/Transpose.cpp \
- 1.2/Dilation.cpp \
- 1.2/Capabilities.cpp \
- 1.2/Mean.cpp \
- 1.0/Lstm.cpp \
- 1.1/Lstm.cpp \
- 1.2/Lstm.cpp \
- 1.2/UnidirectionalSequenceLstm.cpp \
- 1.3/QLstm.cpp \
- 1.3/QosTests.cpp \
- Tests.cpp \
- UtilsTests.cpp \
- Concurrent.cpp \
- FullyConnected.cpp \
- GenericLayerTests.cpp \
- DriverTestHelpers.cpp \
- SystemProperties.cpp \
- Concat.cpp \
- TestTensor.cpp \
- TestHalfTensor.cpp
-
-LOCAL_STATIC_LIBRARIES := \
- libneuralnetworks_common \
- libflatbuffers-cpp \
- arm_compute_library \
- $(ARMNN_BACKEND_STATIC_LIBRARIES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libarmnn-driver@1.3
-
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libcutils \
- libfmq \
- libhidlbase \
- libhidltransport \
- libhidlmemory \
- liblog \
- libnativewindow \
- libtextclassifier_hash \
- libui \
- libutils \
- libsync \
- android.hardware.neuralnetworks@1.0 \
- android.hardware.neuralnetworks@1.1 \
- android.hardware.neuralnetworks@1.2 \
- android.hardware.neuralnetworks@1.3 \
- android.hidl.allocator@1.0 \
- android.hidl.memory@1.0
-
-ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
-LOCAL_SHARED_LIBRARIES+= \
- libGLES_mali
-endif
-
-include $(BUILD_EXECUTABLE)
-
-endif # PLATFORM_VERSION == R