18 template<armnn::DataType dataType,
typename T = armnn::ResolveType<dataType>>
23 const std::array<unsigned int, 4> shapeData = { { 1u, 1u, 6u, 5u } };
26 std::vector<T> inputData =
37 ret.m_ExpectedData = inputData;
39 std::vector<T> actualOutput(tensorInfo.GetNumElements());
47 outputTensorHandle->Allocate();
52 const unsigned int origin[4] = {};
57 : std::move(inputTensorHandle);
60 : std::move(outputTensorHandle);
63 AddInputToWorkload(memCopyQueueDesc, workloadInfo, tensorInfo, workloadInput.get());
64 AddOutputToWorkload(memCopyQueueDesc, workloadInfo, tensorInfo, workloadOutput.get());
69 ret.m_ActualData = actualOutput;
74 template <
typename WorkloadFactoryType>
75 struct MemCopyTestHelper
78 struct MemCopyTestHelper<
armnn::MockWorkloadFactory>
94 using MockMemCopyTestHelper = MemCopyTestHelper<armnn::MockWorkloadFactory>;
96 template <
typename SrcWorkloadFactory,
97 typename DstWorkloadFactory,
104 MemCopyTestHelper<SrcWorkloadFactory>::GetMemoryManager();
107 MemCopyTestHelper<DstWorkloadFactory>::GetMemoryManager();
109 SrcWorkloadFactory srcWorkloadFactory = MemCopyTestHelper<SrcWorkloadFactory>::GetFactory(srcMemoryManager);
110 DstWorkloadFactory dstWorkloadFactory = MemCopyTestHelper<DstWorkloadFactory>::GetFactory(dstMemoryManager);
112 return MemCopyTest<dataType>(srcWorkloadFactory, dstWorkloadFactory, withSubtensors);
#define ARMNN_NO_DEPRECATE_WARN_BEGIN
virtual std::unique_ptr< ITensorHandle > CreateSubTensorHandle(ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const =0
typename ResolveTypeImpl< DT >::Type ResolveType
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
#define ARMNN_NO_DEPRECATE_WARN_END
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
void CopyDataFromITensorHandle(void *mem, const armnn::ITensorHandle *tensorHandle)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
Contains information about TensorInfos of a layer.
virtual std::unique_ptr< IWorkload > CreateWorkload(LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const
IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override
virtual bool SupportsSubTensors() const =0