aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2019-05-27 12:14:10 +0100
committerFrancis Murtagh <francis.murtagh@arm.com>2019-05-27 12:14:10 +0100
commit43aec5886449c1b024b740fd6f4500e827bde221 (patch)
treec12a128dcc6895a0663a4e4dd27c4110e492c6dd /src/backends/backendsCommon
parent7f2c35a82ec11be50b3478bd15207320bbf3bd57 (diff)
downloadarmnn-43aec5886449c1b024b740fd6f4500e827bde221.tar.gz
IVGCVSW-3134 Refactor FullyConnected workloads into single workload
* Refactor FullyConnected workloads into single workload. * Refactor FullyConnected ref implementation to use Encoders and Decoders to support all DataTypes. * Deleted RefFullyConnectedFloat32Workload and RefFullyConnected2dUint8Workload. Change-Id: Iad30fb0287ab7491e1297997e7d61f1d00785541 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Diffstat (limited to 'src/backends/backendsCommon')
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.hpp2
-rw-r--r--src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp6
-rw-r--r--src/backends/backendsCommon/test/WorkloadDataValidation.cpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.hpp b/src/backends/backendsCommon/WorkloadFactory.hpp
index 927d7e78bb..0b0ba7ddf1 100644
--- a/src/backends/backendsCommon/WorkloadFactory.hpp
+++ b/src/backends/backendsCommon/WorkloadFactory.hpp
@@ -100,7 +100,7 @@ public:
virtual std::unique_ptr<IWorkload> CreateFloor(const FloorQueueDescriptor& descriptor,
const WorkloadInfo& info) const;
- virtual std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
+ virtual std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
const WorkloadInfo& info) const;
virtual std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
diff --git a/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp b/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
index ac2595b6bf..3e6223ab79 100644
--- a/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
+++ b/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
@@ -49,6 +49,12 @@ LayerTestResult<T, 2> SimpleFullyConnectedTestImpl(
ExecuteWorkload(*workload, memoryManager);
+ if (workloadFactory.GetBackendId() == armnn::Compute::CpuRef)
+ {
+ workload->PostAllocationConfigure();
+ workload->Execute();
+ }
+
CopyDataFromITensorHandle(&result.output[0][0], outputHandle.get());
return result;
diff --git a/src/backends/backendsCommon/test/WorkloadDataValidation.cpp b/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
index 3793ecf70f..119eb7df90 100644
--- a/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
+++ b/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
@@ -125,7 +125,7 @@ BOOST_AUTO_TEST_CASE(FullyConnectedQueueDescriptor_Validate_RequiredDataMissing)
//Invalid argument exception is expected, because not all required fields have been provided.
//In particular inputsData[0], outputsData[0] and weightsData can not be null.
- BOOST_CHECK_THROW(RefFullyConnectedFloat32Workload(invalidData, invalidInfo), armnn::InvalidArgumentException);
+ BOOST_CHECK_THROW(RefFullyConnectedWorkload(invalidData, invalidInfo), armnn::InvalidArgumentException);
}