------ ArmNN for Android NNAPI supported operations ------

This release of ArmNN for Android supports use as a driver for the Android Neural Networks API. It implements the
android.hardware.neuralnetworks@1.0, android.hardware.neuralnetworks@1.1 and android.hardware.neuralnetworks@1.2
HAL interfaces.

For more information on the Android Neural Networks API, see https://developer.android.com/ndk/guides/neuralnetworks/index.html

For integration and usage documentation, please see README.md.

--- Support for Android Neural Networks HAL operations ---

The following AndroidNN HAL 1.0 and 1.1 operations are currently supported:

AndroidNN operator           Tensor type supported
ADD                          (FLOAT32,QUANT8_ASYMM)
AVERAGE_POOL_2D              (FLOAT32,QUANT8_ASYMM)
BATCH_TO_SPACE_ND            (FLOAT32,QUANT8_ASYMM)
CONCATENATION                (FLOAT32,QUANT8_ASYMM)
CONV_2D                      (FLOAT32,QUANT8_ASYMM)
DEPTHWISE_CONV_2D            (FLOAT32,QUANT8_ASYMM)
DIV                          (FLOAT32,QUANT8_ASYMM)
DEQUANTIZE                   (FLOAT32,QUANT8_ASYMM)
FLOOR                        (FLOAT32)
FULLY_CONNECTED              (FLOAT32,QUANT8_ASYMM)
L2_NORMALIZATION             (FLOAT32)
L2_POOL_2D                   (FLOAT32,QUANT8_ASYMM)
LOCAL_RESPONSE_NORMALIZATION (FLOAT32)
LOGISTIC                     (FLOAT32,QUANT8_ASYMM)
LSTM                         (FLOAT32)
MAX_POOL_2D                  (FLOAT32,QUANT8_ASYMM)
MEAN                         (FLOAT32,QUANT8_ASYMM)
MUL                          (FLOAT32,QUANT8_ASYMM)
PAD                          (FLOAT32,QUANT8_ASYMM)
RELU                         (FLOAT32,QUANT8_ASYMM)
RELU1                        (FLOAT32,QUANT8_ASYMM)
RELU6                        (FLOAT32,QUANT8_ASYMM)
RESHAPE                      (FLOAT32,QUANT8_ASYMM)
RESIZE_BILINEAR              (FLOAT32,QUANT8_ASYMM)
SOFTMAX                      (FLOAT32,QUANT8_ASYMM)
SPACE_TO_BATCH_ND            (FLOAT32,QUANT8_ASYMM)
SQUEEZE                      (FLOAT32,QUANT8_ASYMM)
STRIDED_SLICE                (FLOAT32,QUANT8_ASYMM)
SUB                          (FLOAT32,QUANT8_ASYMM)
TANH                         (FLOAT32,QUANT8_ASYMM)
TRANSPOSE                    (FLOAT32,QUANT8_ASYMM)

The following AndroidNN HAL 1.2 operations are currently supported:

CONV_2D                      (FLOAT32,QUANT8_ASYMM)
DEPTHWISE_CONV_2D            (FLOAT32,QUANT8_ASYMM)
PRELU                        (FLOAT32,QUANT8_ASYMM)
RESIZE_NEAREST_NEIGHBOR      (FLOAT32,QUANT8_ASYMM)

--- Unsupported operators ---

The following AndroidNN HAL 1.0 operations are currently not supported:

DEPTH_TO_SPACE
EMBEDDING_LOOKUP
HASHTABLE_LOOKUP
LSH_PROJECTION
RNN
SPACE_TO_DEPTH
SVDF

The following AndroidNN HAL 1.2 operations are currently not supported:

CONCATENATION
LSTM
MINIMUM
MAXIMUM
PAD_V2
QUANTIZE
QUANTIZED_16BIT_LSTM
TRANSPOSE_CONV_2D

Where operations are not supported by the ArmNN Android NN Driver, the driver indicates this to the framework
appropriately and the framework implements those operations using a CPU implementation.
