aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2020-02-04Github #273 Handle failure to initialise BackendContext in RuntimeMatthew Bentham
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
2020-02-03IVGCVSW-4399 Create Sample Dynamic backendNarumol Prangnawarat
* Move IWorkload and WorkloadInfo to include/armnn/backends * Add simple sample dynamic backend with addition workload * Add sample example to run dynamic backend * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0753ce35b8e8a6223a1471388b49246d82438a44
2020-02-03IVGCVSW-4393 Register backend countersJim Flynn
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I419ecc2fce4b7e0fcaeb6d1f9cb687c0b660125d Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-01-29IVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContextColm Donelan
* Introduce two new backend profiling interfaces IBackendProfiling and IBackendProfilingContext. * Add a mechanism to pull a context from a backend through IBackendInternal * Update CL, Neon and Ref backends to return an empty profiling backend. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I6e7438fcb126ad7a073a226862dc44836c9998b7
2020-01-28IVGCVSW-4316 Promote ISendTimelinePacket and IProfilingGuidGeneratorColm Donelan
As part of IVGCVSW-4316 we need to expose ISendTimelinePacket and IProfilingGuidGenerator to enable them to be used by backends for profiling. This also required moving ProfilingRelationshipType from ProfilingUtils. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I58cc64e32ecfffa5231c9d2028522ed58d0ddf31
2020-01-24IVGCVSW-4262 Use ACL Permute and Reshape Validate function in Neon and CLKevin May
!android-nn-driver:2642 Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ibabb73c0ae0df2e530a68398f75c76e6b80c0701
2020-01-24IVGCVSW-4370 Deprecate DataType::QuantizedSymm8PerAxisDerek Lamberti
!android-nn-driver:2622 Change-Id: If99d3eff71ff66ba28af1e5af248299fe04511b9 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-23IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayerjosh minor
* 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>
2020-01-23IVGCVSW-4268 Print all Descriptors on dot graphTeresa Charlin
Change-Id: I82a7dcffc3771efa8350e2e1e22cfb20969551f9 Signed-off-by: Jim Flynn <jim.flynn@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
2020-01-21IVGCVSW-4364 Only apply deprecated attribute where availableDerek Lamberti
Change-Id: Ifde03ea6d9057db0949acad95560be8852c05f73 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-20Remove use of ArmNN.hpp from other public headersMatthew Bentham
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
2020-01-16Remove Logging.hpp from ArmNN.hppMatthew Bentham
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
2020-01-16Remove use of boost from Logging.hppMatthew Bentham
This helps prevent leaking of boost names into Arm NN public headers. Change-Id: I1605d2ed178965f8e502bc6a4b4ac3e627bbbbed Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2020-01-13Rename quantized data types to remove ambiguity for signed/unsigned payloadsDerek Lamberti
!android-nn-driver:2572 Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-09Fix issues due to #include Windows.hRob Hughes
Change-Id: I9d77b5ad6cd81e87217da0c47788a43834c3ac28 Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2020-01-02IVGCVSW-4246 Clean build of backends with -WextraDerek Lamberti
Change-Id: I9e8d5576b3ec04c871785d5f2f9545bf1136e59b Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build of ArmNN API with -WextraFrancis Murtagh
Change-Id: I6003d2f82ca02d926dd95abee712337783eacfc7 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-12-30Fix compilation error when building for Linux (non Android)Ayan Halder
When building for Linux, 'boost::ignore_unused()' should be used to suppress the following error :- error: unused parameter 's' [-Werror=unused-parameter] Change-Id: I9ecfe93c75ee4117eb6d2e1e75442179cee9fec9
2019-12-13IVGCVSW-4178 Add code to increment the 3 ArmNN countersKeith Davis
* 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
2019-12-10IVGCVSW-4212 Example of standalone dynamic reference backendNarumol Prangnawarat
* 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
2019-12-09IVGCVSW-4157 Pass custom options directly to backendsDerek Lamberti
Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4211 Add Signed 8 bit Quantisation support into the Reference backendFinn Williams
!android-nn-driver:2435 Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
2019-12-09IVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcessDerek Lamberti
Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
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-12-06Add noexcept to std::hash specialisation for BackendIdMatthew Bentham
This fixes a warning reported by gcc 8.3 with -Wextra Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I5aad9fe201545d8c87ace9d24e53e900289986b8
2019-12-05Replace boost logging with simple loggerDerek Lamberti
!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>
2019-11-29IVGCVSW-4209 Create a public API for the ArmNN UtilsMatteo Martincigh
* 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
2019-11-27Add IsQuantizeType(DataType) for use in validation functionsAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ib790b24cfde87c92e29615da942c25bf7c98f95e
2019-11-19MLCE-144 Cts NNAPI test cases failedMike Kelly
* Fixed numerous CTS/VTS failures related to Quantization Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If5c20256366e80b6b9bbc46b2a1c410a9b8c48e1
2019-11-18IVGCVSW-3980 Implementation of Guid generatorNarumol Prangnawarat
* Improve implementation of Guid Generator to separate the range of Static Guid and Dynamic Guid * Unit tests to ensure non-collision Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I4ad1a75ea0b1f37155da0decafb51fc5a61e4187
2019-11-18IVGCVSW-4117 Update version number to 19.11Aron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If56648c1d51014b872e81ff4239060ccbf55e8dc
2019-11-15IVGCVSW-4129 Fix thread starvation due to low capture periodsColm Donelan
* Set default capture period to 10mSec. * Validate capture period in PeriodicCounterSelectionCommandHandler pull it up to 10mSec if it is lower. * Fix segmentation fault in GatordMock when receive thread closes. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I9f7ddc70bd99c102c5baef872d28329976a4dc07
2019-11-13IVGCVSW-3697 Add utility function to get ArgMinMaxFunction as stringFrancis Murtagh
* Allow logging of ConvertArgMinMax calls with specified Min/Max function which take place in HalPolicy Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ic8c38106725023c864f7950dc9d0e2737485cfef
2019-11-12IVGCVSW-4069 Add ProfilingGuid to NetworkJan Eilers
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
2019-11-08IVGCVSW-4067 Change LayerGuid to use ProfilingGuidjaneil01
* Refactoring to enable ProfilingGuid * Add profiling includes to Android.mk Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
2019-11-07IVGCVSW-4102 Move ProfilingGuid to public interfacejaneil01
* Moved ProfilingGuid to Types.hpp * Refactoring to enable ProfilingGuid Signed-off-by: janeil01 <jan.eilers@arm.com> Change-Id: Ibf77002d74e484f8a63ffd96aa14303c1f0d38ae
2019-11-06IVGCVSW-3837 Add support for per-axis quantization to reference ↵Aron Virginas-Tar
Convolution2d workload Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I0ac08ba4864d48e6f64c4ac645dad8ea850be112
2019-11-05Rename Optimize's errMessages to messagesRob Hughes
This parameter can contain both errors and warnings, so calling it errMessages is confusing as the user only expects to see errors here. Ideally this rename should be propagated to the lower layers of the implementation, but the public header change is the most useful part. Change-Id: I062564cf38d36f950adfa7c37c090b189e068134
2019-11-05IVGCVSW-3836 Add support for Int32 per-axis scalesAron Virginas-Tar
* Added ScaledInt32PerAxisDecoder implementation * Added new case for Signed32 in MakeDecoder that returns a ScaledInt32PerAxisDecoder if the tensor info has multiple quantization scales Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I8b3c11091644da993044d2a0fe2aba6b06b5af56
2019-11-04IVGCVSW-3835 Create Encoder and Decoder for QSymm8PerAxisKeith Davis
* Add QuantizedSymm8PerAxis to armnn DataType (types.hpp) and * Add Quantize and Dequantize template for int8 in TypeUtils to be able to compute QSymm8 of the weight * Create PerAxisIterator for per-axis quantization * Create QSymm8PerAxisDecoder * Create QSymm8PerAxisEncoder Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ibcfe0288a197b7ee50b543bdbd77b7edb8a547c2
2019-11-01GitHub #292 Build the ML-examples using only ArmNN's public frontend APIMatteo Martincigh
* Refactoring of some of the public API headers Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I9006fe49945b10a6b83908b05aa4a6556639b491
2019-10-31GitHub #292 Move BackendRegistry.hpp to the public APIMatteo Martincigh
* Moved to BackendRegistry.hpp include/armnn * Updated makefiles and sources accordingly Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
2019-10-30IVGCVSW-3831 Add support of per-axis quantization to TensorInfoAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iea09539c92d51e546fbad8b2903b59fc08d66618
2019-10-29Add GetResizeMethodAsCString() function to TypesUtils.hppAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id00eeb7f5e833226aee5e03f8711ab2ae5a84e30
2019-10-28Fix names of quantized types in GetDataTypeName()Aron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I485b7f1823a5eb1bb3832a7853d80a3fa00319fb
2019-10-24IVGCVSW-4007 Add StandInLayer for unsupported operations in TfLiteParserAron Virginas-Tar
* Fixed bug in custom operator support that caused all custom operators to be parsed as a DetectionPostProcessLayer * Added support for handling unsupported operators (built-in or custom) by replacing them with a StandInLayer in the generated network * Added options to TfLiteParser to control whether we want to use StandInLayers when we encounter unsupported operators, or we prefer to throw a ParserException as until now Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I125a63016c7c510b1fdde6033842db4f276718c4
2019-10-23IVGCVSW-4010 Add serialization support for StandInLayerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I2017c15b485b82437c6ffdac4d3112bcc2cbe9e9
2019-10-21IVGCVSW-4009 StandInLayer frontend APIDerek Lamberti
Change-Id: I058c57b554769799c6775813215070ef47790e3d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-3993 Add frontend and reference workload for ComparisonLayerAron Virginas-Tar
* Added frontend for ComparisonLayer * Added RefComparisonWorkload * Deprecated and removed Equal and Greater layers and workloads * Updated tests to ensure backward compatibility Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
2019-10-18Github #275 Generate versionned librariesMatteo Martincigh
* Improved parsing of the ArmNN's version at compile time * Reading the version directly from the Version.hpp file, to make sure not to break any build made with a different build system than CMake (or Ninja) * The version macro is set in the Version.hpp just like before, so setting it from the command line is no longer necessary !android-nn-driver:2126 Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I0820094607734d283ded030e4ded0ae6f5889c86