aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
AgeCommit message (Collapse)Author
2020-04-30IVGCVSW-4753 Fix CpuAcc Hal 1.3 Softmax FailuresSadik Armagan
* Refactor Neon Softmax workload to accept supported data types Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I54aa72d5cbb862cafcc1eabe48f6a00d61050cd7
2020-04-21Use X macro for the enum class LayerTypeLaurent Carlier
In order to improve the maintability of the LayerType enum, it is easier to use the X macro technique https://en.wikipedia.org/wiki/X_Macro Thanks to that, the pre-processor can generate some code based on the list provided by the LIST_OF_LAYER_TYPE macro Signed-off-by: Laurent Carlier <laurent.carlier@arm.com> Change-Id: I3a6049abfb1e964fe0bf32aa4e26bec4e29a77de
2020-04-20IVGCVSW-4513 Remove boost/algorithm/string *David Monahan
* Removed split, classification, trim, string, join, contains * Added StringUtils.hpp to replace the removed Boost String functionality Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I8aa938dc3942cb65c512cccb2c069da66aa24668
2020-04-10IVGCVSW-4483 Introduce PolymorphicPointerDowncastJan Eilers
* as replacement for boost::polymorphic_pointer_downcast * added PolymorphicPointerDowncast * added related unit test * added description to PolymorphicDowncast Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I47e94344c1c21941865549a5632cfb7cad804d35
2020-04-10IVGCVSW-4666 Call EnableProfiling when state switches to activeFinn Williams
* Move the call to EnableProfiling() into ConnectionAcknowledgedHandler * Fix an issue with MockGatord forcing some command handlers to be quiet * Add some small unrelated improvements and typo fixes to the periodic counter command handlers Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I9e6066b78d1f782cfaf27c11571c0ec5cb5d126f
2020-04-10IVGCVSW-4483 Remove boost::polymorphic_downcastJan Eilers
* exchange boost::polymorphic_downcast with armnn::PolymorphicDowncast * remove unnecessary includes of boost::polymorphic_downcast Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ie603fb82860fe05fee547dc78073230cc62b2e1f
2020-04-06IVGCVSW-4485 Remove Boost assertNarumol Prangnawarat
* Change boost assert to armnn assert * Change include file to armnn assert * Fix ARMNN_ASSERT_MSG issue with multiple conditions * Change BOOST_ASSERT to BOOST_TEST where appropriate * Remove unused include statements Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I5d0fa3a37b7c1c921216de68f0073aa34702c9ff
2020-04-02IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocolKeith Davis
* Add Activate/Deactivate command handlers * Add IReportStructure, INotifyBackends single function interfaces * Add overrided mechanism to report structure in Runtime.cpp * Add overrided mechanism to notify backends in ProfilingService.cpp * Add optional IReportStructure argument to ProfilingService constructor for use in ActivateTimelineReportingCommandHandler * Refactoring and tidying up indentation * Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp * Added GatordMock end to end test * Fixed an issue with SendCounterPacket sending duplicate packets * Fixed an issue with DirectoryCaptureCommandHandler handling of Optional Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
2020-04-01IVGCVSW-4531 Tweak to an existing fix for failing NNT tests on Android RDavid Monahan
HAL 1.1/1.2 to account for negative slices Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ia98101b07b826359fb621b801fcbc811d7ec6f6a
2020-03-31IVGCVSW-4633 Add conversion of BF16 support to NeonNarumol Prangnawarat
* Add NeonConvertBf16ToFp32Workload * Add NeonConvertFp32ToBf16Workload * Add BFloat16 type support to NeonConstantWorkload and NeonTensorHandle * Add ConvertBf16ToFp32Weight when ConvertBf16ToFp32Layer is added * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id5b44a203add5e0c98c1ca4e2162115741b56644
2020-03-31IVGCVSW-4590 Fix Lstm layers CellToInputWeightsJan Eilers
* CellToInputWeights were not handeled correctly * Changed CellToInputWeights from Cifg to peephole parameter * Modified exiting unit tests * Added unit test to cover new configuration * Added more descriptive error messages Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ied5dc1253d3df1fd1a79b887a58603d0a9c8f396
2020-03-26IVGCVSW-4597 Modify BF16 optimizer to Convert only inputs and weights ofNarumol Prangnawarat
Convolution2d and FullyConnected layers * Add InsertConvertFp32ToBf16LayersBefore * Add ConvertWeight to ConvertFp32NetworkToBf16Impl for Conv2d and FullyConnected * Allow different input and output when input is BF16 and output is FP32 Conv2d and FullyConnected layers * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ic8f92ff28edcae08a72a3114a28f50c4619f919b
2020-03-26IVGCVSW-4526 Fix UnitTest errors when running on raspberry piJan Eilers
* The std::thread::id is included in some timeline packages of the profiler. But the size of thread::id is platform dependent. That's why some tests expected a wrong package size Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I4794ebbdda2d75ed5be7112f6a3bf2e5f14f221b
2020-03-24IVGCVSW-4596 Fix BufferManager's packet orderFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I35e0a891cd69f2c130b8886460089c441d8e666d
2020-03-20IVGCVSW-4520 Implement BFloat16 OptimizerNarumol Prangnawarat
* Add ReduceFp32ToBf16 to OptimizerOptions * Add ConvertFp32NetworkToBf16 * Add utility functions to insert conversion layers * Add constant conversion BF16 <-> FP32 * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Iaff77e20c721400b052cb37eb9ef6fe16d7abaff
2020-03-20IVGCVSW-4549 Add front end for new QLSTM layerJames Conroy
* Added new layer QLstm (Android R HAL 1.3) * Made necessary updates to APIs * Added unit tests * This layer is functionally equivalent to the original unquantized LSTM layer with some additonal quantization features added. Due to this, original LstmParams are used for this layer. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I5b7f2d2fb6e17e81573b41a31bc55f49ae79608f
2020-03-20IVGCVSW-4582 Undefined reference to GetProfilingService causes failure in ↵Sadik Armagan
the Backends CI job * Enable the GetProfilingService() function to BackendProfilingTests and ProfilingTestUtils Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I32e3625db0f465883f2ec27fb7c2fad4e91b6306
2020-03-19IVGCVSW-4516 Add ConvertFp32ToBf16Layer and Ref workload supportNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9099a4f840fb747336f77d20a0868b64e801a310
2020-03-19IVGCVSW-4553 Fix Wrapper Object Use after free in UnitTests.hppFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I174f83c9a454b5499f817baf0bddcd4a49cac523
2020-03-19IVGCVSW-4552 Fix Wrapper Object Use after free in ProfilerTestsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I84ab68c048675a39a67045430b2dde571b45e479
2020-03-18IVGCVSW-4463 Change ProfilingService to a member of runtime from a singletonSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I345c39a10a4693a500aa1687d9a5cee76da791c3
2020-03-17IVGCVSW-4515 Add ConvertBf16ToFp32Layer and Ref workload supportNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ida6d7e1d2c9abe0618f8b711bab9d62c011090d6
2020-03-16MLCE-161: Added support for NormalizationLayer in ArmnnQuantizer.Pablo Tello
* Improved error reporting by using VisitorThrowingPolicy in DynamicQuantizationVisitor. Change-Id: I8a7d0975d448e6c2b6efb5f315ac255eec29f7a2 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2020-03-13IVGCVSW-4531 Fix for failing strided slice NNT/VTS tests on Android RDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7f6932f0d21b5678ab9822b0fc69f589bbbb07e5
2020-03-11IVGCVSW-4517 Modify BFloat16 to conformant to the coding standardsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I85b6967469dc1fddbbc875b34ba107480b78089a
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-09IVGCVSW-4517 Implement BFloat16 Encoder and DecoderNarumol Prangnawarat
* Add ConvertFloat32ToBFloat16 * Add ConvertBFloat16ToFloat32 * Add BFloat16Encoder * Add BFloat16Decoder * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I198888384c923aba28cfbed09a02edc6f8194b3e
2020-03-09IVGCVSW-4541 Modify Timeline Packet constructionKeith Davis
* Changed TimelinePacket encoding so that there is only one header for multiple timeline swtrace messages * Refactored function names to have more suitable description * Refactored CodeStyle to coincide with ArmNN coding standards * Refactored profiling test names to be descriptive * Refactored ErrorCode name to TimelineStatus * Updated existing unit tests Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I83bd4bb9e7393617bca97eba96a6e1388916e5b0
2020-03-09IVGCVSW-4486 Introduce numeric_cast implementationDerek Lamberti
Change-Id: I3e64bca4a1709ac199513676579cf3c9a3090f26 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-03-09IVGCVSW-4483 Introduce polymorphic_downcast implementationDerek Lamberti
Change-Id: I958dd719162337eb5c7e71f4ac49dd5784564b1a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-03-06IVGCVSW-4517 Add BFloat16 class and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie2e9e617b9210d79a26e7ba58ecc874d1202e599
2020-03-03IVGCVSW-4508 Add BFloat16 data typeNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie2fcf06d0bae9e2ef958e60ab9e8b121fdc7b590
2020-03-03IVGCVSW-4375 Add support for Transpose to optimizationsMike Kelly
* Changed some existing Permutation specific optimizations to also support Transpose * Added MoveTransposeUp optimization * Added TransposeAsReshape optimization * Added tests for Transpose optimizations * Added missing layer tests for Transpose Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I20d099b284861402ae94aaa5dbf34907327a485f
2020-03-03IVGCVSW-4314 Per-layer backend hint APIDerek Lamberti
Change-Id: I6ddcffe792e39b17fcdb8af7f13f4a689ef8019d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-03-03Modifying the IBackendProfilingContext interface to return a bool onDavid Monahan
EnableProfiling and adding error checking to the Runtime Invocation Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I65b8bb16c6f1c7d668de31238ce0408a48974997
2020-03-02IVGCVSW-4440 : Add HARD_SWISH Support to Activation in CpuRefColm Donelan
* Add a new Activiation type of HardSwish. * Add CpuRef support and tests. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I68c3840aa45b7a27d5e416a5d50fe8f99f003ce8
2020-03-02IVGCVSW-4375 Add support for TransposeMike Kelly
* Added TransposeLayer * Added CL, Neon and Ref Workloads * Added Transpose utilities * Added Serializer and Deserializer support * Added Quantizer support Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7
2020-02-28IVGCVSW-4439: Adding Elu support to ActivationDavid Monahan
* 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
2020-02-24IVGCVSW-4368 Update Android.mk and backend.mk files with latest unit testsColm Donelan
* Sync up the Android build files with the CMakeLists.txt Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I1675b0937fed7c74833e46af6d077ced57cf5bed
2020-02-11Silence clang-8 warnings wrt explicit defaulting of implicitly deleted operatorMatthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I9ff918e7f9fe340e65f8dd1b1c47754c8b41de1f
2020-02-07IVGCVSW-4386 Add ArmNN reference support for QAsymmS8Ryan OShea
* 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
2020-02-07IVGCVSW-4317 Implement the Profiling Context InitialisationColm Donelan
* 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
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-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-24Add ARMNN_DLLEXPORT macro to import/export static data symbols on WindowsRob Hughes
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>
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-20IVGCVSW-4331 Calling RemoveDebugLayers can break connectionsMike Kelly
* Changed RemoveDebugLayers to move all connections from its OutputSlot. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I3c649e3f660804ca48f3c2af993a5af6a7ed4d4a
2020-01-20Remove inclusion of ArmNN.hpp where it is unnecessary.Matthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a