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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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>
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
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
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
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
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
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
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
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
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
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>
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>
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>
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
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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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>
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>
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
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
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
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
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
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
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>
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
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
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
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>
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
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
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>
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
Narumol Prangnawarat [Fri, 20 Sep 2019 11:04:55 +0000 (12:04 +0100)]
IVGCVSW-3437 Add Request Counter Directory Command Handler
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I56ef68d6fe993d271a0fc43467f2a63cdcaee496
Aron Virginas-Tar [Fri, 20 Sep 2019 15:38:01 +0000 (16:38 +0100)]
IVGCVSW-3887 Add Quantizer support for DepthToSpace
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I144c04f920ba3329886367f5e73fe758505ab96e
Francis Murtagh [Fri, 20 Sep 2019 14:40:09 +0000 (15:40 +0100)]
IVGCVSW-3433 Create the Periodic Counter Capture Thread
* Add Periodic counter thread object
* Add Unit test for thread
* Move MockBuffer to header file to allow reuse
Change-Id: Id2a8ea636723ab35e8a50efc200c8c76059bba02
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Aron Virginas-Tar [Fri, 20 Sep 2019 09:42:02 +0000 (10:42 +0100)]
IVGCVSW-3886 Add serialization support for DepthToSpace
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id80c1bcbf50715f07a92dad08d554518a283cc28
Aron Virginas-Tar [Thu, 19 Sep 2019 13:39:37 +0000 (14:39 +0100)]
Fix some minor issues around SpaceToDepth
* Removed unnecessary code from SpaceToDepthLayer::InferOutputShapes()
* Refactored SpaceToDepthQueueDescriptor::Validate() and added extra
checks for block size and output depth
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ieeed3144e2589b2e8695ef65ce17752bc595332f
Aron Virginas-Tar [Thu, 19 Sep 2019 13:31:17 +0000 (14:31 +0100)]
IVGCVSW-3883 Add frontend for DepthToSpace layer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I18d957af6e988ffb6b9ee46ac836d1f38600e10b
Aron Virginas-Tar [Fri, 20 Sep 2019 10:21:14 +0000 (11:21 +0100)]
IVGCVSW-3880 Add deserialization test for SLICE
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I513a6c02d77c1fd99c7d6571ee8333eae3e1e290
Sadik Armagan [Wed, 18 Sep 2019 16:29:00 +0000 (17:29 +0100)]
IVGCVSW-3430 Connection Acknowledged Command Handler Implementation
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I0ba97a93edb283b37bd1c089c668135a4bf9550c
Aron Virginas-Tar [Wed, 18 Sep 2019 12:36:52 +0000 (13:36 +0100)]
IVGCVSW-3880 Add serialization support for SLICE
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I5eaf61cfd2c875805d2f37cd967d75ad1d20ad6d
Matthew Bentham [Thu, 19 Sep 2019 11:04:13 +0000 (12:04 +0100)]
Fix illegal use of anonymous stack veriable in Deserializer
Temporary lifetime extension certainly applies where the local
variable is a const reference, but in this case (non-const refernece)
address sanitizer was reporting a problem. In any case in other
places that we use ToTensorInfo we store the value, so I think
the original code here was a mistake.
Change-Id: I55e185c46b1bf367a96d7d8c411ef86f07e8bd8d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Aron Virginas-Tar [Thu, 19 Sep 2019 10:44:45 +0000 (11:44 +0100)]
IVGCVSW-3727 Add LayerType::Slice to GetLayerTypeAsCString()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I878fc65b0462289f61721cad12319c58f923c0c0
Nikhil Raj [Thu, 19 Sep 2019 10:21:11 +0000 (11:21 +0100)]
IVGCVSW-3723 Adding reference workload support for ArgMinMax
Change-Id: I65209ecec4e3abf808163239748d6e830568c2e3
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Jegathesan Shanmugam [Wed, 11 Sep 2019 08:30:42 +0000 (14:00 +0530)]
Github #257 Fix failing unit test "DynamicBackendTests/OpenCloseHandle"
Signed-off-by: Jegathesan Shanmugam <nullbyte.in@gmail.com>
Change-Id: Ib61ebc7db40a3d873d53bb4205460e894ba0b904
Nikhil Raj [Wed, 18 Sep 2019 16:16:31 +0000 (17:16 +0100)]
IVGCVSW-3725 Adding quantization support for ArgMinMax
Change-Id: I7582a9ee36b4d1764a5a137cefe9b7b7dfe30254
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Implement SendCounterPacket.SendCounterDirectoryPacket() function
* Changed the signature of SendCounterDirectoryPacket to accept any
ICounterDirectory object
* Added helper methods to the SendCounterPacket class for creating the records
* Created mock classes for testing
* Added unit tests for both SendCounterDirectoryPacket and the helper methods
* Added unit tests for the SWTrace utility functions
* Added ReadUint8 utility function for getting single byte out of a buffer
* Disabled extra sign-conversion warning in the conversion macro
Change-Id: Ie2dddcd6824ed07b623f0cd78d9b7d05c5b70c39
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Jim Flynn [Tue, 17 Sep 2019 11:29:50 +0000 (12:29 +0100)]
IVGCVSW-3432 Fix a multithread store conflict
* Unit test was using the same CaptureData object across 50 threads
Change-Id: I0249b5a8e0bb05e3d3efdd855f5b34b1d5ef3dc9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Matteo Martincigh [Wed, 18 Sep 2019 11:01:49 +0000 (12:01 +0100)]
CONSERV-3867 Fix typos in the Dynamic Backends readme file
Change-Id: I73253cf1bee6a626ec65ab92555f70fbf00d98fc
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>