18 #include <boost/multi_array.hpp> 23 template<armnn::DataType dataType,
typename T = armnn::ResolveType<dataType>>
28 const std::array<unsigned int, 4> shapeData = { { 1u, 1u, 6u, 5u } };
31 boost::multi_array<T, 4> inputData = MakeTensor<T, 4>(tensorInfo, std::vector<T>(
43 ret.outputExpected = inputData;
45 boost::multi_array<T, 4> outputData(shapeData);
51 outputTensorHandle->Allocate();
56 const unsigned int origin[4] = {};
60 : std::move(inputTensorHandle);
63 : std::move(outputTensorHandle);
65 AddInputToWorkload(memCopyQueueDesc, workloadInfo, tensorInfo, workloadInput.get());
66 AddOutputToWorkload(memCopyQueueDesc, workloadInfo, tensorInfo, workloadOutput.get());
68 dstWorkloadFactory.
CreateMemCopy(memCopyQueueDesc, workloadInfo)->Execute();
71 ret.output = outputData;
76 template<
typename SrcWorkloadFactory,
77 typename DstWorkloadFactory,
83 WorkloadFactoryHelper<SrcWorkloadFactory>::GetMemoryManager();
86 WorkloadFactoryHelper<DstWorkloadFactory>::GetMemoryManager();
88 SrcWorkloadFactory srcWorkloadFactory = WorkloadFactoryHelper<SrcWorkloadFactory>::GetFactory(srcMemoryManager);
89 DstWorkloadFactory dstWorkloadFactory = WorkloadFactoryHelper<DstWorkloadFactory>::GetFactory(dstMemoryManager);
91 return MemCopyTest<dataType>(srcWorkloadFactory, dstWorkloadFactory, withSubtensors);
void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
virtual std::unique_ptr< IWorkload > CreateMemCopy(const MemCopyQueueDescriptor &descriptor, const WorkloadInfo &info) const
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
typename ResolveTypeImpl< DT >::Type ResolveType
virtual std::unique_ptr< ITensorHandle > CreateSubTensorHandle(ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const =0
virtual bool SupportsSubTensors() const =0