From 09e2f27a9da7a65eb409f3dbdfc029eb3afbb003 Mon Sep 17 00:00:00 2001 From: David Beck Date: Tue, 30 Oct 2018 11:38:41 +0000 Subject: IVGCVSW-1949 : Refactor ITensorHandle and move backend specifics to their place Change-Id: I48242425c6a6856e13ebcee1b140cbd2af94a3aa --- .../backendsCommon/test/TensorCopyUtils.cpp | 150 +-------------------- .../backendsCommon/test/TensorCopyUtils.hpp | 4 +- 2 files changed, 8 insertions(+), 146 deletions(-) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/TensorCopyUtils.cpp b/src/backends/backendsCommon/test/TensorCopyUtils.cpp index acc28c9c03..ba7208cc40 100644 --- a/src/backends/backendsCommon/test/TensorCopyUtils.cpp +++ b/src/backends/backendsCommon/test/TensorCopyUtils.cpp @@ -4,158 +4,20 @@ // #include "TensorCopyUtils.hpp" - #include -#ifdef ARMCOMPUTECL_ENABLED -#include -#endif - -#if ARMCOMPUTENEON_ENABLED -#include -#endif - -#if ARMCOMPUTECLENABLED || ARMCOMPUTENEON_ENABLED -#include -#endif - -#include - -#include - -#include -#include - -void CopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* mem) +void CopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* memory) { - switch (tensorHandle->GetType()) - { - case armnn::ITensorHandle::Cpu: - { - auto handle = boost::polymorphic_downcast(tensorHandle); - memcpy(handle->GetTensor(), mem, handle->GetTensorInfo().GetNumBytes()); - break; - } -#ifdef ARMCOMPUTECL_ENABLED - case armnn::ITensorHandle::CL: - { - using armnn::armcomputetensorutils::CopyArmComputeITensorData; - auto handle = boost::polymorphic_downcast(tensorHandle); - handle->Map(true); - switch(handle->GetDataType()) - { - case arm_compute::DataType::F32: - CopyArmComputeITensorData(static_cast(mem), handle->GetTensor()); - break; - case arm_compute::DataType::QASYMM8: - CopyArmComputeITensorData(static_cast(mem), handle->GetTensor()); - break; - case arm_compute::DataType::F16: - CopyArmComputeITensorData(static_cast(mem), handle->GetTensor()); - break; - default: - { - throw armnn::UnimplementedException(); - } - } - handle->Unmap(); - break; - } -#endif -#if ARMCOMPUTENEON_ENABLED - case armnn::ITensorHandle::Neon: - { - using armnn::armcomputetensorutils::CopyArmComputeITensorData; - auto handle = boost::polymorphic_downcast(tensorHandle); - switch (handle->GetDataType()) - { - case arm_compute::DataType::F32: - CopyArmComputeITensorData(static_cast(mem), handle->GetTensor()); - break; - case arm_compute::DataType::QASYMM8: - CopyArmComputeITensorData(static_cast(mem), handle->GetTensor()); - break; - default: - { - throw armnn::UnimplementedException(); - } - } - break; - } -#endif - default: - { - throw armnn::UnimplementedException(); - } - } + tensorHandle->CopyInFrom(memory); } -void CopyDataFromITensorHandle(void* mem, const armnn::ITensorHandle* tensorHandle) +void CopyDataFromITensorHandle(void* memory, const armnn::ITensorHandle* tensorHandle) { - switch (tensorHandle->GetType()) - { - case armnn::ITensorHandle::Cpu: - { - auto handle = boost::polymorphic_downcast(tensorHandle); - memcpy(mem, handle->GetTensor(), handle->GetTensorInfo().GetNumBytes()); - break; - } -#ifdef ARMCOMPUTECL_ENABLED - case armnn::ITensorHandle::CL: - { - using armnn::armcomputetensorutils::CopyArmComputeITensorData; - auto handle = boost::polymorphic_downcast(tensorHandle); - const_cast(handle)->Map(true); - switch(handle->GetDataType()) - { - case arm_compute::DataType::F32: - CopyArmComputeITensorData(handle->GetTensor(), static_cast(mem)); - break; - case arm_compute::DataType::QASYMM8: - CopyArmComputeITensorData(handle->GetTensor(), static_cast(mem)); - break; - case arm_compute::DataType::F16: - CopyArmComputeITensorData(handle->GetTensor(), static_cast(mem)); - break; - default: - { - throw armnn::UnimplementedException(); - } - } - const_cast(handle)->Unmap(); - break; - } -#endif -#if ARMCOMPUTENEON_ENABLED - case armnn::ITensorHandle::Neon: - { - using armnn::armcomputetensorutils::CopyArmComputeITensorData; - auto handle = boost::polymorphic_downcast(tensorHandle); - switch (handle->GetDataType()) - { - case arm_compute::DataType::F32: - CopyArmComputeITensorData(handle->GetTensor(), static_cast(mem)); - break; - case arm_compute::DataType::QASYMM8: - CopyArmComputeITensorData(handle->GetTensor(), static_cast(mem)); - break; - default: - { - throw armnn::UnimplementedException(); - } - } - break; - } -#endif - default: - { - throw armnn::UnimplementedException(); - } - } + tensorHandle->CopyOutTo(memory); } -void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* mem) +void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* memory) { tensorHandle->Allocate(); - CopyDataToITensorHandle(tensorHandle, mem); + CopyDataToITensorHandle(tensorHandle, memory); } diff --git a/src/backends/backendsCommon/test/TensorCopyUtils.hpp b/src/backends/backendsCommon/test/TensorCopyUtils.hpp index 2187523edb..36f6369c0f 100644 --- a/src/backends/backendsCommon/test/TensorCopyUtils.hpp +++ b/src/backends/backendsCommon/test/TensorCopyUtils.hpp @@ -8,8 +8,8 @@ #include -void CopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* mem); +void CopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* memory); void CopyDataFromITensorHandle(void* mem, const armnn::ITensorHandle* tensorHandle); -void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* mem); \ No newline at end of file +void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle* tensorHandle, const void* memory); \ No newline at end of file -- cgit v1.2.1