IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
authorMatteo Martincigh <matteo.martincigh@arm.com>
Thu, 10 Jan 2019 17:34:20 +0000 (17:34 +0000)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Fri, 11 Jan 2019 12:20:47 +0000 (12:20 +0000)
commit992d6dc57d8463729910b688f0fb5825d0d3ccf2
tree87b504d174848169550240f300f359dd57aaa1fd
parent1f0ff35236c1dd05954735f7fed9c2807770479e
IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
code base

 * Made the virtual functions in ILayerSupport.hpp pure
 * Created a LayerSupportBase class with the default implementation of
   the interface
 * Made the backend layer support classes inherit from the base
   class, instead of directly from the interface
 * Refactored the profiler and the profiling event classes to use
   the BackendId instead of the Compute
 * Implemented a proper MemCopy support method
 * Changed Compute to BackendId in the profiling API and objects
 * Removed static references to pluggable backends

!android-nn-driver:492

Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
22 files changed:
include/armnn/BackendId.hpp
include/armnn/ILayerSupport.hpp
include/armnn/LayerSupport.hpp
src/armnn/Layer.cpp
src/armnn/LayerSupport.cpp
src/armnn/Profiling.cpp
src/armnn/Profiling.hpp
src/armnn/ProfilingEvent.cpp
src/armnn/ProfilingEvent.hpp
src/armnn/test/ProfilingEventTest.cpp
src/backends/backendsCommon/CMakeLists.txt
src/backends/backendsCommon/ILayerSupport.cpp [deleted file]
src/backends/backendsCommon/LayerSupportBase.cpp [new file with mode: 0644]
src/backends/backendsCommon/LayerSupportBase.hpp [new file with mode: 0644]
src/backends/backendsCommon/WorkloadFactory.cpp
src/backends/backendsCommon/common.mk
src/backends/cl/ClLayerSupport.cpp
src/backends/cl/ClLayerSupport.hpp
src/backends/neon/NeonLayerSupport.cpp
src/backends/neon/NeonLayerSupport.hpp
src/backends/reference/RefLayerSupport.cpp
src/backends/reference/RefLayerSupport.hpp