Age | Commit message (Collapse) | Author |
|
* Added CpuRef implementation
* Added Unit Tests
* Added Quantizer Test
* Enabled Tests for Neon and CL backends on fp32 only
* Added to Serializer
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ic23e1797dbc9352b40678c389d7fe2b836b582ea
|
|
* Sync up the Android build files with the CMakeLists.txt
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I1675b0937fed7c74833e46af6d077ced57cf5bed
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I9ff918e7f9fe340e65f8dd1b1c47754c8b41de1f
|
|
* Added Quantization Scheme for QAsymmS8
* Added Unit Tests for QAsymmS8
* Renamed QAsymm8 calls to QAsymmU8
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: I897b4e018ba1d808cc3f8c113f2be2dbad49c8db
|
|
* Call CreateBackendProfilingContext on each backend from Runtime passing
an instance of the BackendProfiling interface.
* Modify the signature of CreateBackendProfilingContext to remove const
and return a shared_ptr to BackendProfilingContext
* Add concrete BackendProfiling class.
* Store BackendProfilingContexts in Profiling service.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
|
|
Define CreateBackendContext to throw BackendUnavailableException
if necessary runtime components are missing.
Handle this in the constructor of Runtime by not adding those
backends to the internal DeviceSpec owned by the Runtime.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: Iadffb5240e32e1f105683c4d361276b92d1e720c
|
|
!android-nn-driver:2642
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ibabb73c0ae0df2e530a68398f75c76e6b80c0701
|
|
Armnn has several static data symbols that are needed by the unit tests.
These are now explicitly marked for import when that header is included
from the unit test code.
See also https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html.
Change-Id: I4e71ba659b6321659a1396125b5a9c271578040f
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
|
|
!android-nn-driver:2622
Change-Id: If99d3eff71ff66ba28af1e5af248299fe04511b9
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Added new layer named ElementwiseUnary
* Deprecated existing Abs/Rsqrt layer functions
* Updated existing Abs/Rsqrt test infrastructure to use new layer
* Added boilerplate for new Exp,Neg,Sqrt elemwise op layers
* AbsQuantize test removed pending future commit
* Serialization support added
!android-nn-driver:2550
Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f
Signed-off-by: josh minor <josh.minor@arm.com>
|
|
Change-Id: I82a7dcffc3771efa8350e2e1e22cfb20969551f9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
|
|
* Changed RemoveDebugLayers to move all connections from its OutputSlot.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I3c649e3f660804ca48f3c2af993a5af6a7ed4d4a
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I6c90eab1c6bad76d5c7b3bf094998fa4b454bcd1
|
|
Also remove it from armnnSerializer and armnnUtils.
In general code within Arm NN should only include exactly what it needs.
This will help keep compile times down, and reduces the need for a
complete rebuild when anything in the public headers changes.
ArmNN.hpp should only be provided as a convenience for user code where the
user doesn't know enough of the API to decide which specific headers
they need.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I4ffcaa7662af4f88a1babf2bf17d03da6f77d665
|
|
Logging.hpp is mainly useful for raising Arm NN log messages. There's
very little point in automatically including it for users of the library
via the ArmNN.hpp convenience header.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I71fb3188dc0b30c1bbc86a31996470c707d38c19
|
|
This helps prevent leaking of boost names into Arm NN public headers.
Change-Id: I1605d2ed178965f8e502bc6a4b4ac3e627bbbbed
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
|
|
!android-nn-driver:2572
Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
!referencetests:218340
Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I6003d2f82ca02d926dd95abee712337783eacfc7
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
Change-Id: Icb1b35ff55fa22103777853e6f49fc282d61750d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I749430918b1268786690c3c8dc9fa2a9542d5d1d
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
|
|
Change-Id: I2e0884c66855071eb3aa72b86de06c6ed6389d50
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Fix issue with InputLayer or ConstantLayer being used as inputs to Concat.
* Fix issue with same input being used multiple times for same Concat.
* Fix issue where input is used by multiple concats.
Change-Id: Id4819aeec5a40e2afa0351838ba082b9f74aba33
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Increment at Runtime.cpp | BackendRegistry.cpp | LoadedNetwork.cpp
* Update unit tests
* UID generation is now handled by backends
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ifa53763409078c14839675206d8b260cdc36a8df
|
|
* Add example to build dynamic reference backend
* Add functions to clear dynamic backends
* Fix the error when dynamic backend is not deregistered
* Add DYARMNN_DYNAMIC_BACKEND_ENABLED to check disable empty
dynamic backend when dynamic backend is enabled
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I1ef3a3f10ed6ca5ec18d0af04b007fc3bc71a3cb
|
|
Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
!android-nn-driver:2435
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
|
|
* 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
|
|
Change-Id: I1fe9bba5774a2f46fad4ff90a9980b8f773d2cbb
Signed-off-by: Stefana Simion <Stefana.Simion@arm.com>
|
|
* If nobody consumes an output tensor, the call to Manage()
is not closed by a corresponding call to Allocate()
Change-Id: I6af9cff7aa1b7eb70bcf691c00c0ce07b48e7527
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
|
|
!referencetests:214319
* Reduces arm nn binary size ~15%
* Also fixed test logging black hole issues
Change-Id: Iba27db304d9a8088fa46aeb0b52225d93bb56bc8
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Signed-off-by: David Monahan <david.monahan@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0cfbc2e1ed8f1eded1841866ebf9f39a066e91af
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic9fbe1300cf8c4b8a78bad5934f0b2d18b205090
|
|
* Only apply the Optimization when the base ReshapeLayer is connected to
the child ReshapeLayer and no other Layer.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iccd676d657f9e7c829813f1bec9c82db8745d069
|
|
* Send post-optimisation network structure if profiling service is enabled
* Refactor TimelineUtilityMethods
* Fix RecordEvent to link eventGuid with eventClassGuid
* Add common types and guid to LabelsAndEventClasses
* Add CreateRelationship to TimelineUtilityMethods
* Add CreateTypedEntity to TimelineUtilityMethods
* Add MarkEntityWithType to TimelineUtilityMethods
* Move VerifyTimeline functions to ProfilingTestUtils
* Post-optimisation network structure unit tests to Ref, Cl, Neon
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512
|
|
* Moved the relevant armnnUtils headers to the new location:
include/armnnUtils
* Update the header usage throughout the source code
!android-nn-driver:2387
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75
|
|
Change-Id: Ideeec890a91379bfd52774633b1b35fa1b14f434
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6
|
|
This fixes a one-definition-rule violation
Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
|
|
* Removes workaround which handled null dstFactory
when NEON import was disabled, and now handles
this in the correct way.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief42b3c52d018f0fa71be4d4d37516f2caad1e0d
|
|
* Add Guid to Workload
* Remove circular dependency
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I15342fa7481c6bdc050e057dce2d74bba07fe2dd
|
|
Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I1f0dfa4ca76e1c85a2b8fb5de12039a260224951
|
|
Dequantize
* Check for output data type as well as input data type when determining
whether we should attempt to fall back to FP32 if FP16 is not supported
* Override output type for Dequantize in IsLayerSupported() instead of
input type
* Updated original input type from FP16 to FP32 in InsertConvertFp32ToFp16LayersAfter()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6477fd17cea5a91bd8bf9ae0cf836520897d5b7
|
|
The current algorithm in SubgraphViewSelector has a bug that can lead to
it producing subgraphs which have a dependency cycle (see the newly
added test case 'ValidMerge' for a repro). It also fails to merge
subgraphs in some cases where it could, which leads to smaller subgraphs.
In the case of FSRCNN, the NPU cannot support these smaller subgraphs and
so this is blocking us from supporting that network.
This commit changes the algorithm to fix the dependency bug and
also make it so that subgraphs are merged in the cases that were missed
before. It also adds some unit tests to cover cases that were problematic
before, and to extend coverage for the new algorithm.
The new algorithm has two downsides compared to the previous one:
1. Disjoint subgraphs are not merged. This can never lead to a failed
compilation by the NPU and so I believe this is less of an issue than
the previous algorithm's "missed merges". This could however lead to a
runtime performance loss in some cases as the NPU will be unable
to parallelise as many operations. There are some unit tests that cover
this which I have disabled.
2. The performance is worse. I have spent some time analysing this and
for a graph with ~1000 layers the new algorithm takes 20ms vs. the
old algorithm's 4ms (on my desktop PC). I believe the performance is
still within acceptable limits. I also compared inception V3 (which was
the network which caused performance issues with the original version of
the splitting algorithm) and this new algorithm has not regressed there
(200-300us in both cases).
Change-Id: I1dd64a779f272723621e04d203b5a2752a6af2ef
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I263c78e02238fa7c7f9ab6408fb197664e5fe048
|
|
Added ProfilingGuid to
* INetwork,
* Network,
* IOptimizedNetwork and
* OptimizedNetwork
!android-nn-driver:2234
!armnn:2250
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I235116992cc47b4f385b7eb9da514c6350ca00f4
|
|
* Refactoring to enable ProfilingGuid
* Add profiling includes to Android.mk
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
|