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>
Aron Virginas-Tar [Wed, 18 Sep 2019 13:49:29 +0000 (14:49 +0100)]
IVGCVSW-3881 Add Quantizer support for SLICE
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I72bc00888d416fee177ea2e6e5006f8ff04f612e
Matteo Martincigh [Wed, 18 Sep 2019 09:53:24 +0000 (10:53 +0100)]
IVGCVSW-3691 Add extra unit tests to complete coverage for
the CounterDirectory class
Change-Id: I37c6d2b43d3994878c8daeeb0ff226bf411c0aae
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Tue, 17 Sep 2019 16:27:04 +0000 (17:27 +0100)]
IVGCVSW-3878 Add reference workload for SLICE
* Added reference workload implementation and layer tests
for all supported tensor dimensions (1d, 2d, 3d, 4d)
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I40eb300828933e9183027281105d1a7e597d1569
Aron Virginas-Tar [Tue, 17 Sep 2019 11:58:22 +0000 (12:58 +0100)]
IVGCVSW-3879 Fix output shape inference formula for TransposeConvolution2d
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I766f4297b9daa26edacc2079fe62a083ba2fa68f
Matteo Martincigh [Thu, 5 Sep 2019 11:02:04 +0000 (12:02 +0100)]
IVGCVSW-3691 Rework the CounterDirectory class to take into consideration
the connections between components
* Added constructors and connections to the profiling classes
* Used hash table to keep track of the profiling objects by UID
* Added register methods
* Added find/check helper methods
* Updated the makefile to include the profiling directory
* Added unit tests for the CounterDirectory class
* Added ICounterDirectory interface class for read-only use
* Added custom macro to locally disable conversion warnings
Change-Id: I3f53a68663ee77b8d03ac0ef7dc01e90c6893511
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Mon, 16 Sep 2019 15:30:59 +0000 (16:30 +0100)]
IVGCVSW-3877 Reduce code duplication in TestNameOnlyLayerVisitor
* Defined macros for common class structure and near-identical
test cases
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I47a2ece3e1797496c196f63c7fcd71e5748295c6
Aron Virginas-Tar [Mon, 16 Sep 2019 13:27:45 +0000 (14:27 +0100)]
IVGCVSW-3875 Add frontend for SLICE layer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iebe675a0cee02db6f133d48ce58cbc1e233061db
Narumol Prangnawarat [Mon, 16 Sep 2019 16:00:22 +0000 (17:00 +0100)]
IVGCVSW-3694 Add ArgMinMax implementation for Ref
* Add ArgMinMax implementation
* Add utility function to get number of elements between axis
* Add utility function to get unsigned axis
* Unit tests for ArgMinMax function
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I7bc3d610dda9526190187eb87394a8ed7a4b5cdd
FinnWilliamsArm [Mon, 16 Sep 2019 11:06:47 +0000 (12:06 +0100)]
IVGCVSW-3826: Implement IProfiling functions
!armnn:1814
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I82c7453d7969880e321572637adc0fb9c0e5fd7b
Aron Virginas-Tar [Mon, 16 Sep 2019 12:12:42 +0000 (13:12 +0100)]
Fix typo int comment surrounding constructor in ResizeLayer.hpp
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9739e2f685a49d00efaa873207c7b38d98b9b14c
David Monahan [Wed, 4 Sep 2019 08:22:10 +0000 (09:22 +0100)]
IVGCVSW-3687 Add INetworkProperties to LoadNetwork
* Allows users to specify if Import/Export should be used
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I64da26a6acbeb91ef72d31b6ccc01bb1447f624d
Narumol Prangnawarat [Fri, 13 Sep 2019 15:53:38 +0000 (16:53 +0100)]
IVGCVSW-3868 Add support of Int32 to Reshape layer
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I1bf116c462fe3428be31b6dbcd09b25c3a90727f
Aron Virginas-Tar [Fri, 13 Sep 2019 12:37:03 +0000 (13:37 +0100)]
IVGCVSW-3858 Fix RefTensorHandleTests on Raspberry Pi
* Fix alignment check to use sizeof(size_t) instead of a hard-coded value
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I092c4464c6cecb2403da9b7744b68ad063ddbad1
Matthew Bentham [Fri, 13 Sep 2019 11:45:04 +0000 (12:45 +0100)]
Split out basic CaptureData unit tests from Holder tests
Change-Id: I68f62c2941c4af77a48829bbc71d5836d9477b5d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Aron Virginas-Tar [Thu, 12 Sep 2019 10:03:09 +0000 (11:03 +0100)]
IVGCVSW-3854 Fix QuantizedLstmEndToEndTest on Raspberry Pi
* Do not rely on boost::test_tools::tolerance for comparing integer values,
as this is not supported in all Boost versions
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I7050a5765d007dc501d9e893b661d8847dd55ad7
Sadik Armagan [Fri, 13 Sep 2019 16:07:19 +0000 (17:07 +0100)]
IVGCVSW-3660 Add SQRT unit tests for Neon and CL backends
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iaaff33f578c4d88f6c03c8de4af71d5347178eaa
Matthew Bentham [Sat, 14 Sep 2019 23:06:05 +0000 (00:06 +0100)]
In CopyTensorContentsGeneric coalesce inner dimensions where possible
This reduces the number of function calls in the inner loop, and
allows for optimised implementations of memcpy to improve bandwidth
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I7458b45c075c87805242e92e54448b9dd762227f
Matthew Bentham [Sat, 14 Sep 2019 22:35:28 +0000 (23:35 +0100)]
Rename variables in CopyTensorContents to assume NHWC
Change-Id: I533991c8829256570529c18023a5e882878cc85a
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Ferran Balaguer [Fri, 13 Sep 2019 12:31:40 +0000 (13:31 +0100)]
IVGCVSW-3872 Add Missing packet to SendMetaDataPacket
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I98d8b22bdc447c2ff3f4d74d58ef9c0eae75db76
Sadik Armagan [Fri, 13 Sep 2019 15:22:53 +0000 (16:22 +0100)]
IVGCVSW-3873 Update ACL pin
* Update ACL pin to include fix for Activation.Sqrt issue on Neon
!android-nn-driver:1924
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ib0367a86e4126f27d37c588212539b8b23805357
Ferran Balaguer [Wed, 28 Aug 2019 15:57:18 +0000 (16:57 +0100)]
IVGCVSW-3436 Create the Periodic Counter Selection Command Handler
Change-Id: Ia6fe19db5aebe82bb00dcbab17e16633befda0a5
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Matthew Jackson [Thu, 12 Sep 2019 08:08:23 +0000 (09:08 +0100)]
IVGCVSW-3857 Add Reference FP16 workload support to remaining layers
* Adds Reference FP16 support and unit tests for layers not already supported
!referencetests:202156
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I6fc9b9ce2809e163f72e27e877025c8fb85d9fbe
Rob Hughes [Wed, 11 Sep 2019 08:51:13 +0000 (09:51 +0100)]
Add "explicit" qualifier to Optional -> bool conversion method
This prevents unintended conversions that could lead to incorrect code
compiling, e.g. Optional<a> == Optional<b>
Also add comparison (==) operator to compare two Optionals.
Update unit tests accordingly
Change-Id: I6f975de7e666ba1ffe16c3ab50643116c6317135
Signed-off-by: Rob Hughes <robert.hughes@arm.com>