aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/IBackendInternal.hpp
AgeCommit message (Collapse)Author
2019-12-14IVGCVSW-4261 Add backward compatibility to the Backend APINarumol Prangnawarat
* Redirect the backendsCommon headers to the new headers in armnn/backends Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I53424a16b378e50a20cf1e3f7f8e9ea477fed52f
2019-12-09IVGCVSW-4210 Create a public API for the common backend filesMatteo Martincigh
* Create a public API for the common backend files * Move OutputHandler to armnn internal * Remove unused headers Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0
2019-08-13IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistryNarumol Prangnawarat
in IBackendInternal Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
2019-08-02IVGCVSW-3561 Fix the linker issues of the test shared objects inMatteo Martincigh
the Android builds * Changed the test libs from SHARED to MODULE * Added IBackendInternal.cpp to separate the default implementation of OptimizeSubgraphView from the header file * Linked the modules against armnn to get the missing symbols * Renamed the test modules to avoid name clashing in the CI system * Moved the test shared objects to separate folders to keep the filesystem tidy Change-Id: I987c56d2d66bdb86f7b391a83c602d0dadf4c674 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-07-25IVGCVSW-3543 Implement the backend versioning algorithmMatteo Martincigh
* Added version structure for backends, with comparisons operators * Added version to IBackendInternal * Added version utility function to DynamicBackendUtils class Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I3697469675c27f79f7cfb296cfa69ec7e06375e5
2019-06-24IVGCVSW-3277 Refactor TensorHandle factory APIDerek Lamberti
* Added backend support for multiple types of TensorHandle factories * Refactored the backend API to enable new tensor strategies * Added mechanism to determine memory strategies during optimization * Perform mem-copy only when Direct access is not found * Explicitly deleted the copy-constructor from OutputSlot to prevent accidental local copies that would cause the DisconnectAll to be called by the destructor Change-Id: I7e812c8e5e6c1c20db1c5932749ac70fd93db7f8 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-22IVGCVSW-3132 Reintroduce SubGraph definition, but deprecatedMatteo Martincigh
* Restored old SubGraph class definition as an alias of SubgraphView for backward compatibility * Restored SubGraphUniquePtr * Restored CreateSubGraphConverter method (and the corresponding ISubGraphConverterPtr type) as a deprecated method that's been removed from the backend interface * Chaged the defautl implementation of OptimizeSubgraphView to call the deprecated OptimizeSubGraph * Changed the default implementation of OptimizeSubgraphView in the backends Change-Id: If69903926bf5ff2aae52c9b64b4572b355662757 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-22IVGCVSW-3088 Update the backends README fileMatteo Martincigh
* Updated the src/backends/README.md file with details on the new OptimizeSubgraphView method * Added section describing the new OptimizationViews class * Deprecated GetOptimizations in the code Change-Id: Icb1a9aa015394e56fb4b5120b0645a752f44134e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-17IVGCVSW-3030 Add a mock backend for unit testingMatteo Martincigh
* Added a mock implementation of an ArmNN backend for unit testing * Implemented a mock version of OptimizeSubgraphView * Fixed a typo in the Optimization API Change-Id: Ic7acf7cc5c2a76a918e94cdc356baae7c7597a6d Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-14Use the new deprecation APIMatteo Martincigh
* Used the new ARMNN_DEPRECATED_MSG macro instead of @deprecated * Refactored the code to no longer use the deprecated methods where applicable !android-nn-driver:1126 Change-Id: Ib0578d3d6fc5a763f5fb922f67ba91fafc7796f6 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-10IVGCVSW-3030 Refactor code and fix OptimizeSubgraphViewMatteo Martincigh
* Refactored the Optimizer code for readibility, in view of upcoming changes * Rename one of the ISubgraphViewConverter interface methods to give it a more meaningful name * Improved the OptimizationViews class, added comments and useful funtion overloads * Fixed an error in the default implementationof the new OptimizeSubgraphView method in IBackendInternal Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-09IVGCVSW-3031 Reparent layer to new graphDerek Lamberti
Change-Id: Ic4423b8d21d794f44ddae291853e0e3b89d11bc0 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-08IVGCVSW-3031 Finer grained backend optimization APIDerek Lamberti
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-03IVGCVSW-3030 Update the backend code to create also a list ofMatteo Martincigh
non-optimized SubgraphViews * Removed pointless CreateSubgraphViewConverter method in the IBackendInternal interface Change-Id: Ie2d3c0e74fb3d53e67f76924ac6d05050a5e6e2e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-03IVGCVSW-3029 Remove any AddLayer capabilities from SubgraphViewMatteo Martincigh
* Removed the reference to the parent graph in SubgraphView * Removed the AddLayer method in SubgraphView * Updated the code where necessary to adapt to the new changes in SubgraphView * Fixed a check in the CreatePreCompiledWorkloadTest test function Change-Id: I4d3af87f11ec3cd8f18a21b250a2d295da56e1a0 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-04-30IVGCVSW-2405 Rename SubGraph to SubgraphViewDerek Lamberti
Change-Id: Ie50aeccf053c20c3a01a75042bbc3acd824375af Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-01-30IVGCVSW-2458 Refactor the Optimize function (Network.cpp) so thatMatteo Martincigh
subgraphs are optimized by the backends * Added a new method OptimizeSubGraph to the backend interface * Refactored the Optimize function so that the backend-specific optimization is performed by the backend itself (through the new OptimizeSubGraph interface method) * Added a new ApplyBackendOptimizations function to apply the new changes * Added some new convenient constructors to the SubGraph class * Added AddLayer method and a pointer to the parent graph to the SubGraph class * Updated the sub-graph unit tests to match the changes * Added SelectSubGraphs and ReplaceSubGraphConnections overloads that work with sub-graphs * Removed unused code and minor refactoring where necessary Change-Id: I46181794c6a9e3b10558944f804e06a8f693a6d0
2019-01-15IVGCVSW-2454 Merge together the pluggable backends work (was in aMatteo Martincigh
separate branch) and master * Brings in all the changes done for the pluggable backends * Added sub-graph support and tests * Added precompiled layer support and tests * Moved BackendSettings to a separate file * Removed the backend-specific code * Ported DebugLayer and associated functionality * Included fixes to make those changes work with master Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488
2018-11-13IVGCVSW-2066: Add IMemoryManager and integrate into the backends frameworkAron Virginas-Tar
Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05
2018-11-12IVGCVSW-2125 : Consolidate backend registries into oneDavid Beck
Change-Id: I56da4780f8f5fcef7ff01d232d5d61bf299364bf
2018-11-09IVGCVSW-2125 : backends now can return optimizationsDavid Beck
Change-Id: Ieec34224b433e1d2f3bbe66632cd6016cac5498c
2018-11-08IVGCVSW-2056+IVGCVSW-2064 : move ClContextControl to the ClBackendexperimental/nhwc-previewDavid Beck
* add IBackendContext interface * add ClBackendContext implementation Change-Id: I13e4d12b73d4c7775069587675276f7cee7d630b
2018-11-05Revert "IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend"David Beck
This reverts commit d4dfa684941a21314b70593d01b0fc2167eebad4. Change-Id: Id61ce69215505c3cf5d30ec2a7ec9127fb2554fc
2018-11-02IVGCVSW-1946: Remove armnn/src from the include pathsAron Virginas-Tar
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e