[BYOC][ACL] Add support for dense (fully connected) layer (#6254)
authorlhutton1 <35535092+lhutton1@users.noreply.github.com>
Thu, 13 Aug 2020 16:21:35 +0000 (17:21 +0100)
committerGitHub <noreply@github.com>
Thu, 13 Aug 2020 16:21:35 +0000 (09:21 -0700)
commit15eef5c065b6fed6aba49f4be05d7104608218a7
tree0757865ccf186751f2325cefb2eb0302e1d4e4a3
parent16b2a4b66dc3ff7c20da59fee9cc047a1593cf64
[BYOC][ACL] Add support for dense (fully connected) layer (#6254)

* [BYOC][ACL] Add support for dense (fully connected) layer

This patch adds the ability to offload dense (or fully connected) operators to ACL.

For fp32 a single dense layer can be offloaded, or the composite variant: nn.dense, nn.bias_add? (ACL does not currently offer fused activation).
For uint8: qnn.dense, nn.bias_add?, qnn.requantize

Change-Id: I83ea00b2aa6bdc5d9ef5cd6d54bbf981e523bd14

* Don't offload dense layer with unsupported datatype

Change-Id: I856eb2298499fdf22c172ba7f85d21033d3cc920
docs/deploy/arm_compute_lib.rst
python/tvm/relay/op/contrib/arm_compute_lib.py
src/relay/backend/contrib/arm_compute_lib/codegen.cc
src/runtime/contrib/arm_compute_lib/acl_runtime.cc
tests/python/contrib/test_arm_compute_lib/test_conv2d.py
tests/python/contrib/test_arm_compute_lib/test_dense.py [new file with mode: 0644]
tests/python/contrib/test_arm_compute_lib/test_network.py
tests/python/contrib/test_arm_compute_lib/test_pooling.py