blob: 47a1574a751ed73b13bd63b3dbc536ebae5eef69 [file] [log] [blame]
surmeh0149b9e102018-05-17 14:11:25 +01001------ ArmNN for Android NNAPI supported operations ------
telsoa015307bc12018-03-09 13:51:08 +00002
Matthew Benthama3e23ca2019-05-13 12:49:59 +01003This release of ArmNN for Android supports use as a driver for the Android Neural Networks API. It implements the
Aron Virginas-Tarb23732b2019-06-17 15:48:45 +01004android.hardware.neuralnetworks@1.0, android.hardware.neuralnetworks@1.1 and android.hardware.neuralnetworks@1.2
5HAL interfaces.
telsoa015307bc12018-03-09 13:51:08 +00006
7For more information on the Android Neural Networks API, see https://developer.android.com/ndk/guides/neuralnetworks/index.html
8
9For integration and usage documentation, please see README.md.
10
11--- Support for Android Neural Networks HAL operations ---
12
Sadik Armagan1ba99892019-08-21 15:03:44 +010013The following AndroidNN HAL 1.0, 1.1 and 1.2 operations are currently supported:
telsoa015307bc12018-03-09 13:51:08 +000014
15AndroidNN operator Tensor type supported
Kevin May407718f2019-09-09 14:46:41 +010016ABS (FLOAT32)
Matthew Benthamb92f8902019-06-05 09:24:31 +010017ADD (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000018AVERAGE_POOL_2D (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000019BATCH_TO_SPACE_ND (FLOAT32,QUANT8_ASYMM)
Matthew Benthamb92f8902019-06-05 09:24:31 +010020CONCATENATION (FLOAT32,QUANT8_ASYMM)
21CONV_2D (FLOAT32,QUANT8_ASYMM)
22DEPTHWISE_CONV_2D (FLOAT32,QUANT8_ASYMM)
23DIV (FLOAT32,QUANT8_ASYMM)
24DEQUANTIZE (FLOAT32,QUANT8_ASYMM)
Narumol Prangnawarat85f96542019-09-12 16:26:29 +010025EXPAND_DIMS (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000026FLOOR (FLOAT32)
Matthew Bentham378333d2018-10-01 16:07:27 +010027FULLY_CONNECTED (FLOAT32,QUANT8_ASYMM)
Teresa Charlin8f6429d2019-10-01 13:10:15 +010028GROUPED_CONV_2D (FLOAT32,QUANT8_ASYMM)
Aron Virginas-Tarad754532019-10-10 14:02:37 +010029INSTANCE_NORMALIZATION (FLOAT32)
telsoa015307bc12018-03-09 13:51:08 +000030L2_NORMALIZATION (FLOAT32)
nikraj01c6494cc2019-05-22 16:30:44 +010031L2_POOL_2D (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000032LOCAL_RESPONSE_NORMALIZATION (FLOAT32)
Matthew Benthamb92f8902019-06-05 09:24:31 +010033LOGISTIC (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000034LSTM (FLOAT32)
Sadik Armagan1ba99892019-08-21 15:03:44 +010035MAXIMUM (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000036MAX_POOL_2D (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000037MEAN (FLOAT32,QUANT8_ASYMM)
Sadik Armagan1ba99892019-08-21 15:03:44 +010038MINIMUM (FLOAT32,QUANT8_ASYMM)
Matthew Benthamb92f8902019-06-05 09:24:31 +010039MUL (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000040PAD (FLOAT32,QUANT8_ASYMM)
Sadik Armagan1ba99892019-08-21 15:03:44 +010041PAD_V2 (FLOAT32,QUANT8_ASYMM)
42PRELU (FLOAT32,QUANT8_ASYMM)
43QUANTIZE (FLOAT32,QUANT8_ASYMM)
44QUANTIZED_16BIT_LSTM (QUANT8_ASYMM)
Matthew Benthamb92f8902019-06-05 09:24:31 +010045RELU (FLOAT32,QUANT8_ASYMM)
46RELU1 (FLOAT32,QUANT8_ASYMM)
47RELU6 (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000048RESHAPE (FLOAT32,QUANT8_ASYMM)
nikraj01c6494cc2019-05-22 16:30:44 +010049RESIZE_BILINEAR (FLOAT32,QUANT8_ASYMM)
Sadik Armagan1ba99892019-08-21 15:03:44 +010050RESIZE_NEAREST_NEIGHBOR (FLOAT32,QUANT8_ASYMM)
Aron Virginas-Tara97efbb2019-09-10 14:46:41 +010051RSQRT (FLOAT32)
telsoa015307bc12018-03-09 13:51:08 +000052SOFTMAX (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000053SPACE_TO_BATCH_ND (FLOAT32,QUANT8_ASYMM)
Keith Davisa6bc52f2019-06-26 09:39:49 +010054SPACE_TO_DEPTH_ND (FLOAT32,QUANT8_ASYMM)
Sadik Armagan701d9a02019-09-04 15:16:18 +010055SQRT (FLOAT32)
saoste01b8471482018-10-10 09:44:51 +010056SQUEEZE (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000057STRIDED_SLICE (FLOAT32,QUANT8_ASYMM)
Matthew Benthamb92f8902019-06-05 09:24:31 +010058SUB (FLOAT32,QUANT8_ASYMM)
59TANH (FLOAT32,QUANT8_ASYMM)
saoste01fe463152018-10-18 17:49:56 +010060TRANSPOSE (FLOAT32,QUANT8_ASYMM)
David Monahan613b49c2019-06-27 11:37:47 +010061TRANSPOSE_CONV_2D (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000062
Mike Kelly56df76c2019-06-14 15:51:39 +010063Where operations are not supported by the ArmNN Android NN Driver, the driver indicates this to the framework
64appropriately and the framework implements those operations using a CPU implementation.