platform/upstream/armnn.git
4 years agoFix Unpack in TfLiteParser missing quantization parameters
Narumol Prangnawarat [Mon, 21 Oct 2019 13:58:26 +0000 (14:58 +0100)]
Fix Unpack in TfLiteParser missing quantization parameters

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I026e4880013fa4ed83b6c4643dda7e4d100014a5

4 years agoIVGCVSW-3989 Create the Counter Directory Decoder
Finn Williams [Tue, 15 Oct 2019 13:22:13 +0000 (14:22 +0100)]
IVGCVSW-3989 Create the Counter Directory Decoder

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: If388e60434eae39d82b639d2275680679963624c

4 years agoIVGCVSW-3996 Add deserialization test for ComparisonLayer
Aron Virginas-Tar [Mon, 21 Oct 2019 13:09:11 +0000 (14:09 +0100)]
IVGCVSW-3996 Add deserialization test for ComparisonLayer

* Added DeserializeComparison.cpp that contains float32 and quantized
  deserialization test cases for all comparison operations
* Removed DeserializeEqual.cpp and DeserializeGreater.cpp, as they
  have become redundant

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9577168721e1bc6bcc5bb2b35edf82390a816597

4 years agoIVGCVSW-3999 Add unit tests for new comparison operations
Aron Virginas-Tar [Fri, 18 Oct 2019 14:42:58 +0000 (15:42 +0100)]
IVGCVSW-3999 Add unit tests for new comparison operations

* Refactored existing tests for Equal and Greater and moved them
  to ComparisonTestImpl.cpp
* Removed EqualTestImpl.cpp and GreaterTestImpl.cpp
* Added new unit tests for GreaterOrEqual, Less, LessOrEqual
  and NotEqual

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I25013200beb1acb88e83b813c5382cb277c74cd7

4 years agoGithub #275 Generate versionned libraries
Matteo Martincigh [Mon, 21 Oct 2019 10:33:50 +0000 (11:33 +0100)]
Github #275 Generate versionned libraries

 * Fixed typo that broke the versioning of libarmnnQuantizer.so

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3cfe2e2a79c81f66c715f355d0a4554d41b5cb45

4 years agoIVGCVSW-4009 Get string name for StandInLayer type
Derek Lamberti [Mon, 21 Oct 2019 13:10:38 +0000 (14:10 +0100)]
IVGCVSW-4009 Get string name for StandInLayer type

Change-Id: I6808937bd35a2419814d04016b780efa6bb8724c
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-4009 StandInLayer frontend API
Derek Lamberti [Mon, 21 Oct 2019 09:46:16 +0000 (10:46 +0100)]
IVGCVSW-4009 StandInLayer frontend API

Change-Id: I058c57b554769799c6775813215070ef47790e3d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
4 years agoIVGCVSW-3992 Add serialization support for ComparisonLayer
Aron Virginas-Tar [Thu, 17 Oct 2019 15:11:54 +0000 (16:11 +0100)]
IVGCVSW-3992 Add serialization support for ComparisonLayer

* Added serialization support and serialization-deserialization test
  for Comparison
* Added backward compatibility tests for Equal and Greater, to make
  sure they are serialized and deserialized as Comparison
* Refactored serialization tests and reduced code duplication by
  taking advantage of operator==() recently added for Descriptors

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id0fd94ef4b17e4e51c8005e585ea3c47f9c1bd8d

4 years agoIVGCVSW-3993 Add frontend and reference workload for ComparisonLayer
Aron Virginas-Tar [Wed, 16 Oct 2019 16:45:38 +0000 (17:45 +0100)]
IVGCVSW-3993 Add frontend and reference workload for ComparisonLayer

* 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

4 years agoIVGCVSW-3721 Add support for startup sequence (Mock Gatord service).
Colm Donelan [Fri, 18 Oct 2019 15:49:28 +0000 (16:49 +0100)]
IVGCVSW-3721 Add support for startup sequence (Mock Gatord service).

Fixing logic error in PeriodicCounterCaptureCommandHandler. Default
quiet operation should be false and the unit tests should set it to
true.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icabf30819985811e42168a98909b44a6c5f5d4df

4 years agoGithub #275 Generate versionned libraries
Matteo Martincigh [Fri, 18 Oct 2019 13:59:19 +0000 (14:59 +0100)]
Github #275 Generate versionned libraries

 * 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

4 years agoIVGCVSW-4005 Add PacketFamilyId to version resolver
Jim Flynn [Fri, 18 Oct 2019 12:21:43 +0000 (13:21 +0100)]
IVGCVSW-4005 Add PacketFamilyId to version resolver

Change-Id: Ief9373871438df4e1d353bbc545a3ee4f25c1fb0
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-4002 Add FamilyId to CommandHandlerKey
Jim Flynn [Thu, 17 Oct 2019 16:37:10 +0000 (17:37 +0100)]
IVGCVSW-4002 Add FamilyId to CommandHandlerKey

Change-Id: I0bb0bf77da2bcd7f4746078c4ccee9acc98638a7
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-3409 Create the ProfilingService class
Colm Donelan [Thu, 17 Oct 2019 13:02:44 +0000 (14:02 +0100)]
IVGCVSW-3409 Create the ProfilingService class

* Improve the error handling in SocketProfilingConnection to close the
  socket when an error has been detected.
* Update the CommandHandler thread to handle a closed socket.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I1577c8d7d57a7af9bde98c2dec12cb19a3afb21d

4 years agoIVGCVSW-3721 Add support for startup sequence (Mock Gatord service).
Colm Donelan [Wed, 16 Oct 2019 11:24:20 +0000 (12:24 +0100)]
IVGCVSW-3721 Add support for startup sequence (Mock Gatord service).

* Updated ExecuteNetwork to propagate a configured Runtime down to RunTest.
* Fixed the creation of PeriodicCounterCaptureCommandHandler to match
  other handlers.
* Moved around some printouts to make the MockGatorD output more useful.
* Added details to the exception handling for problems in the
  GatordMockService receive thread.
* Mockutils::ConstructHeader is only used in GatordMockTests. Moved it
  in there and deleted MockUtils.hpp
* Refactored SendPeriodicCounterSelectionList to use ProfilingUtils.
* Added PeriodicCounterSelectionResponseHandler to received packet echoed back.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I4accdbf6cf5dd3f7dcc12b210b8360b4a5e4e277

4 years agoMove version definition to its own file
Guillaume Gardet [Tue, 15 Oct 2019 06:47:26 +0000 (08:47 +0200)]
Move version definition to its own file

 * Move the ArmNN version to a separate ArmnnVersion.txt file
 * Updated makefiles accordingly

!referencetests:206978
!android-nn-driver:2110

Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ib1a34d38b5f4c7490108ea91d930cf5417d1ca94

4 years agoIVGCVSW-3400 Fixed include directives for Gatord builds
Matteo Martincigh [Thu, 17 Oct 2019 12:26:21 +0000 (13:26 +0100)]
IVGCVSW-3400 Fixed include directives for Gatord builds

 * Using proper include directives with include paths
 * The relative paths used were causing trouble when building
   on other CI systems

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I897a80d1f56fbdbc3c714a50a0598210d8f0a03c

4 years agoIVGCVSW-3930 Create the Timeline Relationship Binary Packet
Narumol Prangnawarat [Wed, 16 Oct 2019 11:16:26 +0000 (12:16 +0100)]
IVGCVSW-3930 Create the Timeline Relationship Binary Packet

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ia3f93a25cd26c6d9116c2112d1e8d07be438bf39

4 years agoIVGCVSW-3931 Create the Timeline Event Binary Packet
Matteo Martincigh [Wed, 16 Oct 2019 09:29:17 +0000 (10:29 +0100)]
IVGCVSW-3931 Create the Timeline Event Binary Packet

 * Added WriteTimelineEventBinaryPacket function
 * Added unit tests
 * Code refactoring

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I36b6a8b26bb46eb5ea97bb711ef7e153ea6d851f

4 years agoRefactor ProfilingUtils
Jan Eilers [Wed, 16 Oct 2019 08:54:15 +0000 (09:54 +0100)]
Refactor ProfilingUtils

* Added decl_id to all swtrace stream messages
* Adjusted unit tests to include decl_id
* Refactored code to reduce code duplication

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I7a607765d9e65b1c08e4f914acbeda392400f6a4

4 years agoIVGCVSW-3929 Create the Timeline Event Class Binary Packet
Jan Eilers [Tue, 15 Oct 2019 14:23:25 +0000 (15:23 +0100)]
IVGCVSW-3929 Create the Timeline Event Class Binary Packet

* Added some utility functions
* Added WriteTimelineEventClassBinaryPacket
* Added related unit tests

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ib1fca3f8642bf5bbddb5ce51f2d90581a86359b1

4 years agoIVGCVSW-3991 Make Descriptor objects comparable and refactor LayerVisitor tests
Aron Virginas-Tar [Tue, 15 Oct 2019 16:35:36 +0000 (17:35 +0100)]
IVGCVSW-3991 Make Descriptor objects comparable and refactor LayerVisitor tests

* Implemented operator==() for Descriptor structs
* Refactored TestNameAndDescriptorLayerVisitor to eliminate code duplication
  by using templates and taking advantage of the fact that descriptor objects
  can now all be compared the same way using ==
* Cleaned up TestNameOnlylayerVisitor by moving all test cases for layers
  that require a descriptor to TestNameAndDescriptorLayerVisitor

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iee38b04d68d34a5f4ec7e5790de39ecb7ab0fb80

4 years agoIVGCVSW-3895 Add EndToEndLayerTest for the Reference Implementation of LOG_SOFTMAX
Sadik Armagan [Wed, 16 Oct 2019 08:29:38 +0000 (09:29 +0100)]
IVGCVSW-3895 Add EndToEndLayerTest for the Reference Implementation of LOG_SOFTMAX

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I500f0b819be543dc5829990d363e5d911197c9ec

4 years agoIVGCVSW-3939 Code refactoring and minor fixes
Matteo Martincigh [Tue, 15 Oct 2019 08:35:29 +0000 (09:35 +0100)]
IVGCVSW-3939 Code refactoring and minor fixes

 * Fixed value masking in SendPeriodicCounterCapturePacket and updated
   the pertinent unit tests
 * Code refactoring and cleanup
 * Added extra comments to the ProfilingService stop/reset procedure

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibaf2fede76e06d5b8ce7258a4820a60e5993559f

4 years agoIVGCVSW-3948 Add Startup method to Profiling
Jim Flynn [Tue, 15 Oct 2019 09:18:11 +0000 (10:18 +0100)]
IVGCVSW-3948 Add Startup method to Profiling

Change-Id: I591e84048775278bfc728e1b0c189ff4cf2d350b
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-3892 Add EndToEnd Layer test for INSTANCE_NORMALIZATION
Sadik Armagan [Mon, 14 Oct 2019 09:31:43 +0000 (10:31 +0100)]
IVGCVSW-3892 Add EndToEnd Layer test for INSTANCE_NORMALIZATION

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ia646446d52a7b597c3021f1e235465a96ce2beed

4 years agoIVGCVSW-3977 Add deserialization test for LOG_SOFTMAX
Aron Virginas-Tar [Mon, 14 Oct 2019 15:43:13 +0000 (16:43 +0100)]
IVGCVSW-3977 Add deserialization test for LOG_SOFTMAX

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0139e521188381c789fdf2ceceeeaaa48427c6ab

4 years agoIVGCVSW-3975 Add reference workload for LOG_SOFTMAX
Aron Virginas-Tar [Mon, 14 Oct 2019 14:12:00 +0000 (15:12 +0100)]
IVGCVSW-3975 Add reference workload for LOG_SOFTMAX

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I10bb7133e0e2d6d7199abdf39562b1226bbbd3e7

4 years agoIVGCVSW-3984 Fix CheckPeriodicCounterCaptureThread
Finn Williams [Mon, 14 Oct 2019 14:55:18 +0000 (15:55 +0100)]
IVGCVSW-3984 Fix CheckPeriodicCounterCaptureThread

 * PerodicCounterCapture now sleeps instead of terminating
   when reading empty counter data
 * m_IsRunning is now set to false after the thread is joined and
   is no longer atomic
 * removed usages of find() (not thread safe)

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ie65d5a9a7e42a31653ec8eed064849355661ef56

4 years agoIVGCVSW-3976 Add Quantizer support for LOG_SOFTMAX
Sadik Armagan [Mon, 14 Oct 2019 10:47:07 +0000 (11:47 +0100)]
IVGCVSW-3976 Add Quantizer support for LOG_SOFTMAX

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I907f9b585f7ecd079c9cdd3c2edb6c473bf1d215

4 years agoIVGCVSW-3971 Implement the Per-Job Counter Selection command handler
Matteo Martincigh [Fri, 11 Oct 2019 16:19:56 +0000 (17:19 +0100)]
IVGCVSW-3971 Implement the Per-Job Counter Selection command handler

 * Added new PerJobCounterSelectionCommandHandler class
 * The new handler drops the incoming packet without altering the
   state of the profiling service
 * Added unit test

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I2b1bb803318a9e6c438391a0985893eb412e7787

4 years agoIVGCVSW-3972 Implement the Disconnect functionality
Jim Flynn [Mon, 14 Oct 2019 11:31:10 +0000 (12:31 +0100)]
IVGCVSW-3972 Implement the Disconnect functionality

 * Added Disconnect method to the ProfilingService class
 * Added unit test

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Change-Id: I5cc57abd3e1239cdf8afe21ee4883c1f73cd0e80

4 years agoIVGCVSW-3974 Add serialization support for LOG_SOFTMAX
Sadik Armagan [Mon, 14 Oct 2019 12:00:47 +0000 (13:00 +0100)]
IVGCVSW-3974 Add serialization support for LOG_SOFTMAX

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I0777abc672dd7d5c9fadaed27b0e776ac591d2c7

4 years agoIVGCVSW-3551 Fix CounterCaptureHandlingTest
Finn Williams [Fri, 11 Oct 2019 17:25:07 +0000 (18:25 +0100)]
IVGCVSW-3551 Fix CounterCaptureHandlingTest

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: If481bc80fbad307f14d89beac9dc0d8fc575d788

4 years agoIVGCVSW-3964 Implement the Periodic Counter Selection command handler
Matteo Martincigh [Thu, 10 Oct 2019 13:08:21 +0000 (14:08 +0100)]
IVGCVSW-3964 Implement the Periodic Counter Selection command handler

 * Improved the PeriodicCounterPacket class to handle errors properly
 * Improved the PeriodicCounterSelectionCommandHandler to handle
   invalid counter UIDs in the selection packet
 * Added the Periodic Counter Selection command handler to the
   ProfilingService class
 * Code refactoring and added comments
 * Added WaitForPacketSent method to the SendCounterPacket class
   to allow waiting for the packets to be sent (useful in the
   unit tests)
 * Added unit tests and updated the old ones accordingly
 * Fixed threading issues with a number of unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I271b7b0bfa801d88fe1725b934d24e30cd839ed7

4 years agoIVGCVSW-3973 Add frontend for LOG_SOFTMAX
Aron Virginas-Tar [Fri, 11 Oct 2019 13:07:53 +0000 (14:07 +0100)]
IVGCVSW-3973 Add frontend for LOG_SOFTMAX

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f

4 years agoIVGCVSW-3721 Add support for startup sequence (Mock Gatord service).
Colm Donelan [Fri, 11 Oct 2019 12:09:49 +0000 (13:09 +0100)]
IVGCVSW-3721 Add support for startup sequence (Mock Gatord service).

* Receive and process the stream metadata from the client.
* Send the connection ack packet.
* Wait in a receiving thread and print the packets.
* GatordMockTest and Impl for PeriodicCounterCapture CommandHandler
* CaptureData class to retain packet data
* MockUtils
* Update SocketProfilingConnection to fix non blocking receipt of packets.
* Restructure directory layout following review comments.
* Extract the mock service into a static library in the cmake files.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I33c1c9f93976708c9315f71290d42cff53b8c075

4 years agoIVGCVSW-3964 Change the type held by the Packet class to unsigned char
Matteo Martincigh [Thu, 10 Oct 2019 12:29:02 +0000 (13:29 +0100)]
IVGCVSW-3964 Change the type held by the Packet class to unsigned char

 * Updated the Packet class
 * Updated the pertinent code accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I73eab5b1ead67a610cd17fd33f8a74f764ad8cc4

4 years agoIVGCVSW-3963 Implement the Request Counter Directory Handler
Matteo Martincigh [Thu, 10 Oct 2019 13:30:29 +0000 (14:30 +0100)]
IVGCVSW-3963 Implement the Request Counter Directory Handler

 * Integrated the RequestCounterDirectoryCommandHandler in the
   ProfilingService class
 * Code refactoring
 * Added/Updated unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I60d9f8acf166e29b3dabc921dbdb8149461bd85f

4 years agoIVGCVSW-3967 Avg_Pooling2d Fails on CL NHWC FP16
Sadik Armagan [Thu, 10 Oct 2019 09:43:20 +0000 (10:43 +0100)]
IVGCVSW-3967 Avg_Pooling2d Fails on CL NHWC FP16

 * Enable fp_mixed_precision flag for the failing test case

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: If13552165eb6598a84d213b82847b56a8c5f2783

4 years agoIVGCVSW-3944 Add ArgMinMax output shape validation
James Conroy [Tue, 8 Oct 2019 14:41:34 +0000 (15:41 +0100)]
IVGCVSW-3944 Add ArgMinMax output shape validation

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I469895da158b062cd19248832525fa21527f7d41

4 years agoIVGCVSW-3943 Add deserialization test for INSTANCE_NORMALIZATION
Aron Virginas-Tar [Wed, 9 Oct 2019 09:36:34 +0000 (10:36 +0100)]
IVGCVSW-3943 Add deserialization test for INSTANCE_NORMALIZATION

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9f3ab44d0d6644e4bf2958c983d2b5410ba13aec

4 years agoIVGCVSW-3937 Improve the Connection Acknowledged Handler
Matteo Martincigh [Wed, 9 Oct 2019 15:47:04 +0000 (16:47 +0100)]
IVGCVSW-3937 Improve the Connection Acknowledged Handler

 * The Connection Acknowledged Handler should report an error
   is it's called while in a wrong state
 * Stopping the threads in the ProfilingService before having
   to start them again
 * Updated the unit tests to check the changes
 * Removed unnecessary Packet.cpp file
 * Fixed memory leak

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I8c4d33b4d97994df86fe6c9f8c659f880ec64c16

4 years agoIVGCVSW-3888 Add INSTANCE_NORMALIZATION Reference implementation
Kevin May [Wed, 9 Oct 2019 11:37:34 +0000 (12:37 +0100)]
IVGCVSW-3888 Add INSTANCE_NORMALIZATION Reference implementation

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I725022f86e990c482ea323fc90fd136fe493ed68

4 years agoIVGCVSW-3890 Add NEON INSTANCE_NORMALIZATION Workload
Sadik Armagan [Wed, 9 Oct 2019 13:26:32 +0000 (14:26 +0100)]
IVGCVSW-3890 Add NEON INSTANCE_NORMALIZATION Workload

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ia3e55da6e6a7b9d46544466897e3b1635c90c297

4 years agoIVGCVSW-3889 Add CL workload for INSTANCE_NORMALIZATION
Aron Virginas-Tar [Fri, 4 Oct 2019 12:10:16 +0000 (13:10 +0100)]
IVGCVSW-3889 Add CL workload for INSTANCE_NORMALIZATION

!android-nn-driver:2039

Signed-off-by: Kevin May <kevin.may@arm.com>
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I621dd80920b58b8b795ed13917b88850519c8177

4 years agoIVGCVSW-3926 Create the Timeline Message Directory Package
Sadik Armagan [Tue, 8 Oct 2019 14:05:38 +0000 (15:05 +0100)]
IVGCVSW-3926 Create the Timeline Message Directory Package

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I8be40f2e6f1f916b2566ca4d9e87b38d27eb7730

4 years agoIVGCVSW-3669 Fix bug parsing multiple InputShapes in ExecuteNetwork
Francis Murtagh [Tue, 8 Oct 2019 13:47:46 +0000 (14:47 +0100)]
IVGCVSW-3669 Fix bug parsing multiple InputShapes in ExecuteNetwork

 * Change shape separator from semicolon, a command separator, to colon.
 * Update ExecuteNetwork --help prompts.

Change-Id: I6c6d18007cd219482d8187d69962944b833e302e
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
4 years agoIVGCVSW-3937 Add the necessary components to the ProfilingService class to
Matteo Martincigh [Wed, 2 Oct 2019 11:50:57 +0000 (12:50 +0100)]
IVGCVSW-3937 Add the necessary components to the ProfilingService class to
process a connection to an external profiling service (e.g. gatord)

 * Added the required components (CommandHandlerRegistry, CommandHandler,
   SendCounterPacket, ...) to the ProfilingService class
 * Reworked the ProfilingService::Run procedure and renamed it to Update
 * Handling all states but Active in the Run method (future work)
 * Updated the unit and tests accordingly
 * Added component tests to check that the Connection Acknowledged packet
   is handled correctly
 * Added test util classes, made the default constructor/destructor protected
   to superclass a ProfilingService object
 * Added IProfilingConnectionFactory interface

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I010d94b18980c9e6394253f4b2bbe4fe5bb3fe4f

4 years agoIVGCVSW-3948 Add Profiling config to Runtime constructor
Jim Flynn [Mon, 7 Oct 2019 14:15:12 +0000 (15:15 +0100)]
IVGCVSW-3948 Add Profiling config to Runtime constructor

Change-Id: Ib5cb85e620ed2cd76a85d423b2674b5d80981be9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-3937 Update the Send thread to send out the Metadata packet
Matteo Martincigh [Mon, 7 Oct 2019 12:05:13 +0000 (13:05 +0100)]
IVGCVSW-3937 Update the Send thread to send out the Metadata packet

 * The Send thread now automatically sends out Stream Metadata packets when
   the Profiling Service is in WaitingForAck state
 * Added a reference to the profiling state in the SendCounterPacket class
 * Moving the RuntimeException thrown in the Send thread to the main thread
   for rethrowing
 * The Stop method now rethrows the exception occurred in the send thread
 * The Stop method does not rethrow when destructing the object
 * Added unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ice7080bff63199eac84fc4fa1d37fb1a6fcdff89

4 years agoIVGCVSW-3937 Refactor and improve the CommandHandleRegistry class
Matteo Martincigh [Mon, 7 Oct 2019 11:35:21 +0000 (12:35 +0100)]
IVGCVSW-3937 Refactor and improve the CommandHandleRegistry class

 * Added simplified RegisterFunctor method
 * Code refactoring
 * Updated the unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Iee941d898facd9c1ab5366e87c611c99a0468830

4 years agoIVGCVSW-3937 Make dynamic use the of the profiling connection
Matteo Martincigh [Mon, 7 Oct 2019 09:19:35 +0000 (10:19 +0100)]
IVGCVSW-3937 Make dynamic use the of the profiling connection
in the SendCounterPacket class

 * Passing the profiling connection as an argument to the
   pertinent methods of the SendCounterPacket class, as the
   connection is created dynamically by the ProfilingService
 * Updated the unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibe72bdbad814a201c4f1505cff4badbb9b03b13e

4 years agoIVGCVSW-3928 Add the Timeline Entity Binary Packet
David Monahan [Mon, 7 Oct 2019 14:11:15 +0000 (15:11 +0100)]
IVGCVSW-3928 Add the Timeline Entity Binary Packet

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: If3dda4c5ba5c79e4bade58e14fc4df677cb2f5a1

4 years agoIVGCVSW-3937 Refactor and improve the PeriodicCounterCapture class
Matteo Martincigh [Fri, 4 Oct 2019 16:17:42 +0000 (17:17 +0100)]
IVGCVSW-3937 Refactor and improve the PeriodicCounterCapture class

 * Conformed the PeriodicCounterCapture class to the other thread-based
   classes
 * Code refactoring
 * Renamed CounterValues file to ICounterValues
 * Removed no longer used file
 * Updated unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I8c42aa17e17a90cda5cf86eb8ac2d13501ecdadc

4 years agoIVGCVSW-3937 Rename CommandThread to CommandHandler
Matteo Martincigh [Fri, 4 Oct 2019 16:01:07 +0000 (17:01 +0100)]
IVGCVSW-3937 Rename CommandThread to CommandHandler

 * Renamed files, class name and methods accordingly
 * Updated unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ifb88aa61edb93b852a07b1bd59bd259213677b44

4 years agoIVGCVSW-3937 Refactor the command thread
Matteo Martincigh [Fri, 4 Oct 2019 13:40:04 +0000 (14:40 +0100)]
IVGCVSW-3937 Refactor the command thread

 * Integrated the Join method into Stop
 * Updated the unit tests accordingly
 * General code refactoring

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: If8537e77b3d3ff2b780f58a07df01191a91d83d2

4 years agoIVGCVSW-3937 Initial ServiceProfiling refactoring
Matteo Martincigh [Wed, 2 Oct 2019 11:50:57 +0000 (12:50 +0100)]
IVGCVSW-3937 Initial ServiceProfiling refactoring

 * Made the ServiceProfiling class a singleton
 * Registered basic category and counters
 * Code refactoring
 * Updated unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I648a6202eead2a3016aac14d905511bd945a90cb

4 years agoIVGCVSW-3935 Add Quantizer support for INSTANCE_NORMALIZATION
Aron Virginas-Tar [Thu, 3 Oct 2019 12:26:30 +0000 (13:26 +0100)]
IVGCVSW-3935 Add Quantizer support for INSTANCE_NORMALIZATION

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I175008c81da028fb5bdc71e0abff06bc6e58734c

4 years agoIVGCVSW-3949 Fix signed/unsigned comparison bug
Jim Flynn [Fri, 4 Oct 2019 11:25:43 +0000 (04:25 -0700)]
IVGCVSW-3949 Fix signed/unsigned comparison bug

Change-Id: I6a7a809e2d30f137f8221a7d30091d3d6821c213
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-3948 Adds External Profiling cmdline to ExecuteNetwork
Jim Flynn [Thu, 3 Oct 2019 17:04:30 +0000 (10:04 -0700)]
IVGCVSW-3948 Adds External Profiling cmdline to ExecuteNetwork

Change-Id: If172bcb64e8202abbde4b8a6cee14f672bc259cd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
4 years agoIVGCVSW-3925 Add Backward compatibility for ITensorHandle CreateTensorHandle functions
David Monahan [Wed, 2 Oct 2019 08:33:57 +0000 (09:33 +0100)]
IVGCVSW-3925 Add Backward compatibility for ITensorHandle CreateTensorHandle functions

Change-Id: I940b7ca706c9a8bc38743176eb7959aa629a6876
Signed-off-by: David Monahan <david.monahan@arm.com>
4 years agoIVGCVSW-3904 Add more unit tests for send thread with BufferManager
Narumol Prangnawarat [Mon, 30 Sep 2019 15:20:20 +0000 (16:20 +0100)]
IVGCVSW-3904 Add more unit tests for send thread with BufferManager

 * Add timeout parameter to wait for readable data
 * Write all readable data to the profiling connection when ready to read
 * Set ready to read when buffer exhaust
 * Ensure that readable data get written to profiling connection
   before the send thread is stopped
 * Add MockWriteProfilingConnection to be able to test WritePacket
 * Refactor BufferManager and the unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I80ae01bd8d0119a3a3a957069ae8ac521c005a12

4 years agoChanged the encoding of the Readme file to Unix
Matteo Martincigh [Thu, 3 Oct 2019 12:33:22 +0000 (13:33 +0100)]
Changed the encoding of the Readme file to Unix

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ia36f91e4abe58bdd16ba050f1e6276df45eaa0b2

4 years agoIVGCVSW-3947 Update ACL pin to 79f88e6d825402388bb79fc123ee2dfe01985bda
Aron Virginas-Tar [Thu, 3 Oct 2019 14:20:53 +0000 (15:20 +0100)]
IVGCVSW-3947 Update ACL pin to 79f88e6d825402388bb79fc123ee2dfe01985bda

* Update ACL pin to gain access to CLInstanceNormalizationLayer

!android-nn-driver:2033

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I286accc9608073d88c51c85c59b11ad5efce1f5d

4 years agoIVGCVSW-3927 Create the Timeline Label Binary Packet
Matteo Martincigh [Tue, 1 Oct 2019 13:25:34 +0000 (14:25 +0100)]
IVGCVSW-3927 Create the Timeline Label Binary Packet

 * Added a new utility function to create a Timeline Label
   Binary Packet and write it to a given buffer
 * Added new enumeration to be reused for subsequent utility
   functions
 * Added unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Icbabefb9050f3f3b1a30082eabf875593378001f

4 years agoIVGCVSW-3934 Add serialization support for INSTANCE_NORMALIZATION
Aron Virginas-Tar [Thu, 3 Oct 2019 10:15:39 +0000 (11:15 +0100)]
IVGCVSW-3934 Add serialization support for INSTANCE_NORMALIZATION

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If9b4d30cbd625206ec1c7d37dd8b449983442147

4 years agoIVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATION
Kevin May [Wed, 2 Oct 2019 13:07:47 +0000 (14:07 +0100)]
IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATION

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316

4 years agoIVGCVSW-3696 Add NEON ArgMinMax workload and tests
James Conroy [Tue, 17 Sep 2019 13:22:06 +0000 (14:22 +0100)]
IVGCVSW-3696 Add NEON ArgMinMax workload and tests

 * Added layer tests and fixed WorkloadData validate.
 * Also enabled copy to/from NEON for Signed32.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I5e961f88434e18d5a8ebff956d20a1c2cf1b50bb

4 years agoIVGCVSW-3440 Fix intermittently failing send thread test
Matteo Martincigh [Thu, 3 Oct 2019 10:21:18 +0000 (11:21 +0100)]
IVGCVSW-3440 Fix intermittently failing send thread test

 * Simplified the implementation of the MockStreamCounterBuffer
 * Minor refactoring

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3aed97daee0ac32d384e1f830e8cc57aae84950b

4 years agoThrow by value, catch by const reference. Even anonymously.
Matthew Bentham [Wed, 2 Oct 2019 16:12:18 +0000 (17:12 +0100)]
Throw by value, catch by const reference. Even anonymously.

This avoids compiler warnings about catching polymorphic types
by value.

Change-Id: I672bcffe3471fcc0c446bab1e554937ba09208b2
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
4 years agoIVGCVSW-3941 Fix bug around file opening in RecordByRecordCaffeParser
Aron Virginas-Tar [Wed, 2 Oct 2019 15:05:44 +0000 (16:05 +0100)]
IVGCVSW-3941 Fix bug around file opening in RecordByRecordCaffeParser

* Added error check after attempting to create input file stream and
  throw FileNotFoundException in case of failure

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I46b77e21c5330bb60e1190ddbefa6473e43085d9

4 years agoIVGCVSW-3738 Add end-to-end layer test for DepthToSpace
Aron Virginas-Tar [Tue, 1 Oct 2019 17:35:44 +0000 (18:35 +0100)]
IVGCVSW-3738 Add end-to-end layer test for DepthToSpace

* Added end-to-end layer test implementation for DepthToSpace
* Added test to reference, CL and NEON backends for all supported
  data types and data layouts
* Extracted common data permutation code into new utility file and
  refactored some existing tests to reduce code duplication
* Fixed EndToEndLayerTestImpl template to work with Float16 data

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iaf7a0012c520451052b20c37e36dc05fa8314ff6

4 years agoIVGCVSW-3882 Update ACL pin
Narumol Prangnawarat [Tue, 1 Oct 2019 10:32:10 +0000 (11:32 +0100)]
IVGCVSW-3882 Update ACL pin

 * Update ACL pin to include change of ArgMinMax NEON/CL output type to Signed32

!android-nn-driver:2013

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I2a0c80e0557f619a213790027efca8b84bf6e58a

4 years agoUpdate field name of serialized format not to make problem with js
Tee Jung [Tue, 1 Oct 2019 02:25:56 +0000 (11:25 +0900)]
Update field name of serialized format not to make problem with js

Signed-off-by: Jung Tae-young <naey05@gmail.com>
Change-Id: I69ee32b5e201198610e7ba6ec22b0c0025a7e57c

4 years agoIVGCVSW-3922 Fix Arm NN build issue - memory access violation
Kevin May [Tue, 1 Oct 2019 09:52:10 +0000 (10:52 +0100)]
IVGCVSW-3922 Fix Arm NN build issue - memory access violation

    * Only run breaking test if Ref backend is available

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I64850c902f7b900fe9f50d357c283c9a2bf73c19

4 years agoIVGCVSW-3734 Enable FLoat16 unit tests for DepthToSpace on NEON
Aron Virginas-Tar [Mon, 30 Sep 2019 15:34:31 +0000 (16:34 +0100)]
IVGCVSW-3734 Enable FLoat16 unit tests for DepthToSpace on NEON

* Added Float16 support to NeonTensorHandle::CopyInFrom() and
  NeonTensorHandle::CopyOutTo()
* Added Float16 unit tests for DepthToSpace to NeonLayerTests.cpp

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iffbcea699194ea56d5bd43d5e10b0303f07b0933

4 years agoIVGCVSW-3732 Add CL workload for DepthToSpace
Aron Virginas-Tar [Mon, 30 Sep 2019 10:24:53 +0000 (11:24 +0100)]
IVGCVSW-3732 Add CL workload for DepthToSpace

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I577c45099eda1d04214e7a1f75fa10d1352efc80

4 years agoIVGCVSW-3734 Add NEON workload for DepthToSpace
Aron Virginas-Tar [Mon, 30 Sep 2019 12:28:08 +0000 (13:28 +0100)]
IVGCVSW-3734 Add NEON workload for DepthToSpace

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I4fa8cba57f3a2277112c02062f4d2790089d1eb5

4 years agoIVGCVSW-3903 Create Counter Stream Buffer
Narumol Prangnawarat [Fri, 27 Sep 2019 17:00:11 +0000 (18:00 +0100)]
IVGCVSW-3903 Create Counter Stream Buffer

 * Add implementation of PacketBuffer
 * Add implementation of BufferManager
 * Unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Icca3807149ff5a8ed31cc87de73c50b95bca39d4

4 years agoIVGCVSW-3920 Fix build regression due to implicit conversion in ProfilingConnectionDu...
Aron Virginas-Tar [Mon, 30 Sep 2019 13:21:26 +0000 (14:21 +0100)]
IVGCVSW-3920 Fix build regression due to implicit conversion in ProfilingConnectionDumpToFileDecorator

* Explicitly cast uint32_t to std::streamsize when using in sdt::ofstream::write()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0f2989d2f8d077ae53b559c4029074a323d62f21

4 years agoIVGCVSW-3909 Fix Transpose perm vector not parsed by Tflite parser
Kevin May [Fri, 27 Sep 2019 16:21:06 +0000 (17:21 +0100)]
IVGCVSW-3909 Fix Transpose perm vector not parsed by Tflite parser

    * Add permute vector to descriptor if present
    * Refactor test to check with and without permute vector

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ic8d882bb0f982fd00bb2854c18ea316b1b2cde2b

4 years agoIVGCVSW-3442 Add ProfilingConnectionDumpToFileDecorator
Aron Virginas-Tar [Tue, 24 Sep 2019 17:24:47 +0000 (18:24 +0100)]
IVGCVSW-3442 Add ProfilingConnectionDumpToFileDecorator

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3a8313287c69268ae02b6a65103363e9fbba6b4a

4 years agoNNXSW-1826 Add an optimization step which combines Permute and BatchToSpace into...
Rob Hughes [Tue, 24 Sep 2019 15:59:56 +0000 (16:59 +0100)]
NNXSW-1826 Add an optimization step which combines Permute and BatchToSpace into DepthToSpace

This is only possible in some limited cases, but removes an extra
layer from the graph and so should improve performance in all cases.

Change-Id: I7b3e6ba5dacb4fdb816ad270edaecda1436ab4cf
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-3689 Support Import of Output Tensors for the Neon Backend
Ferran Balaguer [Thu, 19 Sep 2019 10:49:25 +0000 (11:49 +0100)]
IVGCVSW-3689 Support Import of Output Tensors for the Neon Backend

Change-Id: I6323c5f68248b54b3ed3b4cb92f1e8bf9c279b8d
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
4 years agoIVGCVSW-3557 Return IProfilingConnection from ProfilingConnectionFactory
Sadik Armagan [Thu, 26 Sep 2019 22:13:31 +0000 (23:13 +0100)]
IVGCVSW-3557 Return IProfilingConnection from ProfilingConnectionFactory

    * Remove WaitingForAck test, test std::cerr instead

Signed-off-by: Kevin May <kevin.may@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I968c53dc005ff078ed08faf8818c83cb2a41528a

4 years agoIVGCVSW-3902 Create IReadOnlyPacketBuffer, IPacketBuffer and IBufferManager interfaces
Narumol Prangnawarat [Tue, 24 Sep 2019 16:23:16 +0000 (17:23 +0100)]
IVGCVSW-3902 Create IReadOnlyPacketBuffer, IPacketBuffer and IBufferManager interfaces

 * Create IReadOnlyPacketBuffer, IPacketBuffer and IBufferManager interfaces
 * Add Read and Write util functions that use IPacketBuffer
 * Add MockBufferManager using IBufferManager for testing
 * Modify SendCounterPacket to use IBufferManager
 * Modify MockStreamCounterBuffer to use IBufferManager
 * Remove IBufferWrapper and MockBuffer
 * Add MockPacketBuffer for testing
 * Modify unit tests to use the new interfaces

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ib86768187e032f07169aa39367a418b7665c9f03

4 years agoAdd Input and Output to list of serializable layers
Aron Virginas-Tar [Wed, 25 Sep 2019 09:44:13 +0000 (10:44 +0100)]
Add Input and Output to list of serializable layers

* Added Input and Output to armnnSerializer/SerializerSupport.md and
  armnnDeserializer/DeserializerSupport.md

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I875f822019609763d110a86271d37dd31eb964b1

4 years agoIVGCVSW-3908 Fix DepthToSpace reference unit test failures on Android Q
Aron Virginas-Tar [Wed, 25 Sep 2019 11:44:53 +0000 (12:44 +0100)]
IVGCVSW-3908 Fix DepthToSpace reference unit test failures on Android Q

* Use different way of constructing the PermutationVector objects needed
  by the DepthToSpace workload

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ieb32c21b7cb4c2e9af22e9e1a0ac2c534be5559d

4 years agoIVGCVSW-3905 Create a first implementation of the send thread
Matteo Martincigh [Thu, 19 Sep 2019 10:57:46 +0000 (11:57 +0100)]
IVGCVSW-3905 Create a first implementation of the send thread

 * Added the send thread directly to the SendCounterPacket class
 * Updated the SendCounterPacket class constructor to also take a
   reference of a IProfilingConnection object, used to send packets out
 * Added Start and Stop methods to SendCounterPacket to start and
   stop the send thread
 * Added mutex and wait condition to make the send thread waiting for
   something to send
 * This implementation used the old IBufferWrapper interface
 * Added defult (empty) constructor for the Packet class
 * Refactoring of IPeriodicCounterCapture and SocketProfilingConnection
 * Modified WritePacket to make it match IBufferWrapper::GetReadBuffer
 * Added unit test for regular and stress testing of the send thread

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I8175619ff4e65c0d5be99bcd8bd9d8dd87f717c6

4 years agoIVGCVSW-3411 Add the Counter Values array and accessor methods
FinnWilliamsArm [Mon, 16 Sep 2019 14:45:42 +0000 (15:45 +0100)]
IVGCVSW-3411 Add the Counter Values array and accessor methods

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I4fa2428a83b93cbe58b821344206e2f7ce9e37e7

4 years agoNNXSW-1826 Move tests for Optimization classes to separate files
Rob Hughes [Tue, 24 Sep 2019 08:34:53 +0000 (09:34 +0100)]
NNXSW-1826 Move tests for Optimization classes to separate files

This splits up the >1000 line OptimizerTests.cpp file.

Each Optimization class now has its own test file, all of which are in a
subfolder of tests called "optimizations".

The original OptimizerTests.cpp now contains mostly (completely?) tests
for validating output shapes, which perhaps should be moved to
test files specific to the layer types they are testing.

Change-Id: Icd1196cad8b720abcb156921aab1adbd4026756b
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-3439 Create the Command Thread
FinnWilliamsArm [Tue, 17 Sep 2019 15:53:53 +0000 (16:53 +0100)]
IVGCVSW-3439 Create the Command Thread

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I9548c5937967f4c25841bb851273168379687bcd

4 years agoIVGCVSW-3900 Add deserialization test for DepthToSpace
Aron Virginas-Tar [Tue, 24 Sep 2019 10:01:51 +0000 (11:01 +0100)]
IVGCVSW-3900 Add deserialization test for DepthToSpace

* Fixed bug in DepthToSpaceLayer::InferOutputShapes by removing
  leftover throw UnimplementedException
* Added Deserializer/DepthToSpaceFloat32 deserialization test

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8fc31d0270b4de1dac45ee12c2b798df81f312a7

4 years agoIVGCVSW-3885 Add reference workload for DepthToSpace
Aron Virginas-Tar [Mon, 23 Sep 2019 18:11:59 +0000 (19:11 +0100)]
IVGCVSW-3885 Add reference workload for DepthToSpace

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id937dc4425884ad1985dcdfaae8bf3fb64f0c766

4 years agoNNXSW-1826 OptimizeConsecutiveReshapes: remove unnecessary call to MoveAllConnections
Rob Hughes [Mon, 23 Sep 2019 15:31:28 +0000 (16:31 +0100)]
NNXSW-1826 OptimizeConsecutiveReshapes: remove unnecessary call to MoveAllConnections

This is called at a time when newReshape has nothing connected to
its output slot (as it has just been created) and so is a no-op.

The code comment indicated that the intention was to connect the newReshape
to its *input*, but that has already been done in the InsertNewLayer() call
above, so the comment was incorrect.

There is a unit test covering this case ("OptimizeConsecutiveReshapesTest")

Change-Id: I933d5d1c6eb32f5a8269fb5d7c809cd7c89680d1
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-3691 Fix the Counter Directory Packet data length
Matteo Martincigh [Tue, 24 Sep 2019 10:38:32 +0000 (11:38 +0100)]
IVGCVSW-3691 Fix the Counter Directory Packet data length

 * The data_length field in the header represents only the size
   of the data included in the packet after the header, so the
   header size is not included
 * Removed a number of conversion macros in SendCounterPacket by
   using numeric casts where possible
 * Updated the unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ifb23c341c442ff3d33b234d4213b739a77ceb658

4 years agoIVGCVSW-3623 Implement NeonTensorHandle::Import
David Monahan [Tue, 20 Aug 2019 10:25:29 +0000 (11:25 +0100)]
IVGCVSW-3623 Implement NeonTensorHandle::Import

Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc

4 years agoReplace uses of non-standard C++:
Rob Hughes [Mon, 23 Sep 2019 15:24:05 +0000 (16:24 +0100)]
Replace uses of non-standard C++:

* Variable-length array replaced with std::vector
* "and" replaced with "&&" (OK, this one is standard but MSVC doesn't
like it and it's inconsistent with the rest of the codebase)
* Replace u_int8_t with uint8_t

Change-Id: I7b968a2cfa85a5492a2a547364464c594efb067b
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
4 years agoIVGCVSW-3413 Add the Counters Metadata
FinnWilliamsArm [Wed, 18 Sep 2019 09:28:16 +0000 (10:28 +0100)]
IVGCVSW-3413 Add the Counters Metadata

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I1313320a28b2d17d1adbc80248882ef458c34a14