Age | Commit message (Collapse) | Author |
|
Move the following header files from backendsCommon to armnn/backends.
* MemCopyWorkload.hpp
* TensorHandle.hpp
* Workload.hpp
* WorkloadData.hpp
* WorkloadFactory.hpp
Replace them with forwarding headers and a pragma deprecation message.
Resolve the deprecation messages in Arm NN code.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I47f116b30f86e478c9057795bc518c391a8ae514
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie593a5c3882ab8fc7d1d0a4ade30dc69973e6d32
|
|
Subtask of story: IVGCVSW-6164 Add a Pooling3d FrontEnd and Ref Implementation
* Add front end
* Add reference workload
* Add corresponding unit tests
Change-Id: Icce4146dd0a06a1da46a2def00a82d343e171750
Signed-off-by: Tamas Nyiri <tamas.nyiri@arm.com>
|
|
* enable external memory management for neon and ref backends
* change m_TensorMemoryVector to hold shared pointers
* change input layer backend Id to match backend id of connected layer
Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I2216a724028312eb101b290df3f224177826b1a0
|
|
* Added implementation of ClBackendDefaultAllocator
* Added back in some pure virtual functions that were mistakenly removed from the CustomMemoryAllocatorSample
* Added a new Gralloc MemorySource for memory which originates from the gpu
* Added unittests
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: Id2abb33d82697df36426f5709756c616af3e8ed7
|
|
* Get number of inputs and outputs from optimized network.
* Get number of cached files if backend supports caching.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ie02ac123bb7df9b0593a2fe46b5bb564a5994780
|
|
backends
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: If2879e8a82692285e7fa3f4d09abd608ca28de12
|
|
* Add ClearImportedInputs/Outputs function to IRuntime
* Add UnImport function to ITensorHandle
* Remove mutex from IWorkingMemHandle
Change-Id: I34c9b6e1618755e10f3b4597afa1d9a9ea97e5fe
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com>
|
|
* Add validator wrapper
* Add validation logic:
Condition #1: All Memblocks have been assigned to a MemBin
Condition #2: No Memblock is assigned to multiple MemBins
Condition #3: No two Memblocks overlap in both the X and Y axis
Memblocks can overlap on the X axis for
SingleAxisPacking
Memblocks can overlap on the Y axis or
the X for MultiAxisPacking but not both
* Add test strategies and tests for overlap, duplicates
and unassigned blocks
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I7a779b35538ecf18a33b62b84512eba69eda1f86
|
|
* Removes deprecated AddLayer, IsLayerSupported functions
* Marks the whole LayerVisitor class as deprecated not just the
constructor. This required to wrap all Accept functions in a
no deprecate macro because the LayerVisitor is used as a parameter in
there
* Removes usage of deprecated LayerVisitor and replaces it
with ExecuteStrategy. This required a few structural changes
in the unit tests
* Adds a default implementation for IStrategy called StrategyBase
* Changes pyarmnn to use non deprecated constructor for
INetworkProperties and adds related unit test
* Marks usage of deprecated code in pyarmnn as deprecated. This
required to extend INetworkProperties to allow backwards compatibility
* Removes deprecated functions from CpuAcc, GpuAcc and Ref backends
Note: This patch breaks compatibility with backends that are not
updated in this patch
!android-nn-driver:6325
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
|
|
* Added front-end
* Added Reference workload
* Added Serializer & Deserializer support
* Added unit tests
* Added NDHWC DataLayout
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Iec4d39e7433b5334d52fa44cf8efc6bcd39319d8
|
|
* Add front end
* Add reference workload
* Add unit tests
* Add Serializer and Deserializer
* Update ArmNN Versioning
Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I9ac1f953af3974382eac8e8d62d794d2344e8f47
|
|
strategy'
* Added IMemoryOptimizerStrategy interface
* Added ConstLayerMemoryOptimizer strategy
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I6a92e659379e5cc39c375b669678eee8a8c08c20
|
|
* Backend API is still unstable and we shouldn't
start to increment until we are ready, the change it was incremented
in originally was also a major break due to the addition of
a virtual method which would misalign the v-table.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I9c15bba29fe3b3258ae592e96889402f950b2a95
|
|
* Updated supported sources in ICustomAllocator
* Added MemorySource to the overridden MemoryRegion in ClBackend
* Added switch statements to handle mapping/unmapping of differing memory sources
* Added Import handler to map allocated DmaBuf memory
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I2125f6f6fe72363d87ead62e211fc45e4fa28b3f
|
|
* Updates the runtime options with a CustomAllocatorMap which allows to define a CustomAllocator for specific backends
* Change IBackendInternal interface to use a shared pointer to a custom allocator
* Update ClBackend.hpp/cpp to use the CustomAllocator
* Adds an example application and unit test which uses a CustomAllocator for GpuAcc
* Refactor of the interface to use MemorySource instead of the user Mapping cl_mem directly
* Modify the BackendRegistry to also hold a registry of CustomAllocators
* BackendRegistry Deregister will also deregister any allocators associated with that backend id
* set_global_allocator within the BaseMemoryManager so that it always matches the currently used allocator
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I156d819686021865f4375e6cb7a5c5dec8fee9e8
Signed-off-by: David Monahan <david.monahan@arm.com>
|
|
* Add new ProfilingDetails class to construct operator details string
* Add new macro which helps append layer details to ostream
* Add ProfilingEnabled to NetworkProperties so that profiling can be
realised when loading the network
* Add further optional info to WorkloadInfo specific to convolutions
* Generalise some JsonPrinter functions into JsonUtils for reusability
* Remove explicit enabling of profiling within InferenceModel as it is
done when loading network
* Add ProfilingDetails macros to ConvolutionWorkloads for validation
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ie84bc7dc667e72e6bcb635544f9ead7af1765690
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I57bcbdec3eb0155f41af0fe7d6abf9bac2ec86eb
|
|
* Adds logic to the Runtime to activate protected mode
* Adds ProtectedContentAllocation backend capability to ClBackend
It's not fully activated yet because the CustomAllocator is
missing. Will print an error message and won't register the backend
but won't fail.
* Extends IBackendInternal with an UseCustomAllocator function.
* Adds related unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I64f465c5800eb104aa90db1bbf772a4148b5072f
|
|
* Added ICustomAllocator.hpp to include/armnn/backends/
* Added the ability to specify an ICustomAllocator to the CreationOptions
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I820e468b691aa032c9bd2c1e1257dc9d02f981d9
|
|
* Add front end
* Add reference workload
* Serialization/Deserialization
* Add unit tests
* Update ArmNN Versioning
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I6fcb1fa341d6f08dea4003b13544e6e9f53fefd3
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I05fc331a8e91bdcb6b8a2f32cfb555060fc5d797
|
|
into profiling common
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I0d672cc782cc2de66a88acf0d83fcd40208ace95
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I4e4eb107aa2bfa09625840d738001f33152e6792
|
|
* Generalises ConstCpuTensorHandle and inherited
classes by removing 'Cpu' from aliases.
* New renamed classes: ConstTensorHandle, TensorHandle,
ScopedTensorHandle, PassthroughTensorHandle,
ConstPassthroughTensorHandle.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I1824e0e134202735fb77051f20a7252f161dfe16
|
|
* ILayerSupport is a backend interface, and so in order
to prevent false positives in ABI Compliance Checker
move it to backends folder.
* Front end users should use ABI stable
GetILayerSupportByBackendId which takes
advantage of LayerSupportHandle
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Ie119451c5d55f114525dc79b6f3474b2df7e3418
!android-nn-driver:5516
|
|
* Added thread safe execution mechanism for armnn
* Removed duplicate function bool Compare(T a, T b, float tolerance)
* Added StridedSliceAsyncEndToEndTest
* Fixed memory leak
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I2d367fc77ee7c01b8953138543e76af5e691211f
|
|
TfLiteDelegate support for FullyConnected Operator'
* Added front-end support for non-const weights for FULLY_CONNECTED operator
* Added FULLY_CONNECTED end-to-end test
* Updated FULLY_CONNECTED operator support in TfLite Arm NN Delegate for non-const weights
* Updated the version numbers
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iffa5b9aa9297aca4c02d923cce4636c88ac21faa
|
|
* Added Fused Activation Optimization to both CL and Neon backends.
* Added Fused Activation support to all the CL and Neon workloads
that support it.
* Changed ProfilingTest network to be a Convolution layer
followed by an Abs layer rather than an Activation layer.
* Added IBackendInternal::OptimizeSubgraphView function that can accept a
ModelOptions.
* Network will now call OptimizeSubgraphView passing in the ModelOptions.
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ib536ac3cbafc7d9b35c139ad9a65b7735262cd9d
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I4eb3e27837aea926593d49f9ccea07bab8388d5b
|
|
factory'
* Pass ModelOptions to WorkloadFactory
* Updated signature of CL and NEON Convolution2d workloads added FastMathEnabled param.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I536178be8e4dd4083489e69febadaf0feeba46d2
|
|
* Introduced ModelOptions to IBackendInternal
* Introduced ModelOptions to Network
* Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON
* Added Optimizer tests
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
|
|
* Added functionality to query if TensorHandleFactory supports InPlaceComputation
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Icf5bfc5f999fc5d03681dcb8cec88d921842458b
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ie8acb9c729af4f95488aecf795f45ff12364f9ca
|
|
Change-Id: Ia4b4bb3be0ed6e933c77d58f8e9879b1370e9537
Signed-off-by: Laurent Carlier <laurent.carlier@arm.com>
|
|
* Add Activate/Deactivate command handlers
* Add IReportStructure, INotifyBackends single function interfaces
* Add overrided mechanism to report structure in Runtime.cpp
* Add overrided mechanism to notify backends in ProfilingService.cpp
* Add optional IReportStructure argument to ProfilingService constructor
for use in ActivateTimelineReportingCommandHandler
* Refactoring and tidying up indentation
* Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp
* Added GatordMock end to end test
* Fixed an issue with SendCounterPacket sending duplicate packets
* Fixed an issue with DirectoryCaptureCommandHandler handling of Optional
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
|
|
* Doxygen comment touch-ups
* Fixed markup in .dox files
* Fixed stylesheet
* Doxyfile changes
* Added logo file
* Added header file
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: I94c7f5a6923a0bbb5c6ed610f1f55d57e2bb8a49
|
|
!referencetests:229377
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
|
|
EnableProfiling and adding error checking to the Runtime
Invocation
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I65b8bb16c6f1c7d668de31238ce0408a48974997
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I721f59cd1f6d068e02dabd62c42871a43be9d934
|
|
* Implemented unit test for ReportCounters function in BackendProfiling
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iec342a96060c8ef6090e6cc67bda8a7a3e890c50
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
|
|
* Adding BackendProfilingContext to the MockBackend
* Made IBackendProfilingContext pure Virtual
* Added UnitTest using MockBackend for testing Backend Counter Registration
* Moved Registry of backend counters from Initialize() to AddBackendProfilingContext()
* Added m_MaxGlobalCounterId to ProfilingService
* Removed automatic registration of MockBack in BackendRegistry()
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ie1c6c31e56d1ac7079d6116ecad041961014aedc
|
|
* Adds implementations for GetCounterStatus and
GetActiveCounters.
* Adds CheckCounterStatusQuery in ProfilingTests.
* Modifies Holder and ProfilingService to open
up access to CaptureData for use by
BackendProfiling.
Signed-off-by: James Conroy <james.conroy@arm.com>
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Iec47952545c0072a71088b12ca3dc31673fa9c51
|
|
* Call CreateBackendProfilingContext on each backend from Runtime passing
an instance of the BackendProfiling interface.
* Modify the signature of CreateBackendProfilingContext to remove const
and return a shared_ptr to BackendProfilingContext
* Add concrete BackendProfiling class.
* Store BackendProfilingContexts in Profiling service.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
|
|
Define CreateBackendContext to throw BackendUnavailableException
if necessary runtime components are missing.
Handle this in the constructor of Runtime by not adding those
backends to the internal DeviceSpec owned by the Runtime.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: Iadffb5240e32e1f105683c4d361276b92d1e720c
|
|
* Move IWorkload and WorkloadInfo to include/armnn/backends
* Add simple sample dynamic backend with addition workload
* Add sample example to run dynamic backend
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0753ce35b8e8a6223a1471388b49246d82438a44
|
|
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I419ecc2fce4b7e0fcaeb6d1f9cb687c0b660125d
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
* Introduce two new backend profiling interfaces IBackendProfiling
and IBackendProfilingContext.
* Add a mechanism to pull a context from a backend through IBackendInternal
* Update CL, Neon and Ref backends to return an empty profiling backend.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I6e7438fcb126ad7a073a226862dc44836c9998b7
|
|
Change-Id: I9e8d5576b3ec04c871785d5f2f9545bf1136e59b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|