aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-09-10 13:32:42 +0100
committerKevin May <kevin.may@arm.com>2019-09-12 08:18:18 +0000
commit39f44af5890cb6627f721ee2f8cb92a0a4c10378 (patch)
tree8d1e6317bcba7c68307673e82d92acf44568f49b /src
parentc81a300902c7c7bf75a2b6cb2a85d59ff3d9dcf0 (diff)
downloadarmnn-39f44af5890cb6627f721ee2f8cb92a0a4c10378.tar.gz
Fix CL workload creation methods not using MakeWorkload
* Wrap CL workload creation methods into MakeWorkload to ensure proper handling of ClError exceptions Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id6b743b4682c092316b4775baa065921780dd24a
Diffstat (limited to 'src')
-rw-r--r--src/backends/cl/ClWorkloadFactory.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index 2c4b843be1..8210be251c 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -170,8 +170,7 @@ std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateMerger(const MergerQu
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateFullyConnected(
const FullyConnectedQueueDescriptor& descriptor, const WorkloadInfo& info) const
{
- return MakeWorkload<ClFullyConnectedWorkload, ClFullyConnectedWorkload>(descriptor, info,
- m_MemoryManager->GetIntraLayerManager());
+ return MakeWorkload<ClFullyConnectedWorkload>(descriptor, info, m_MemoryManager->GetIntraLayerManager());
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreatePermute(const PermuteQueueDescriptor& descriptor,
@@ -213,7 +212,7 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateDetectionPostProcess(
std::unique_ptr<IWorkload> ClWorkloadFactory::CreateDequantize(const DequantizeQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return std::make_unique<ClDequantizeWorkload>(descriptor, info);
+ return MakeWorkload<ClDequantizeWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateNormalization(const NormalizationQueueDescriptor& descriptor,
@@ -260,7 +259,7 @@ std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateMemCopy(const MemCopy
throw InvalidArgumentException("ClWorkloadFactory: Invalid null input for MemCopy workload");
}
- return MakeWorkload<CopyMemGenericWorkload, CopyMemGenericWorkload>(descriptor, info);
+ return MakeWorkload<CopyMemGenericWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateMemImport(const MemImportQueueDescriptor& descriptor,
@@ -300,13 +299,13 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateFakeQuantization(
const FakeQuantizationQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return nullptr;
+ return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateQuantize(const QuantizeQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return std::make_unique<ClQuantizeWorkload>(descriptor, info);
+ return MakeWorkload<ClQuantizeWorkload>(descriptor, info);
}
std::unique_ptr<IWorkload> ClWorkloadFactory::CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
@@ -374,7 +373,7 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateMaximum(const MaximumQueueDe
std::unique_ptr<IWorkload> ClWorkloadFactory::CreateMean(const MeanQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return std::make_unique<ClMeanWorkload>(descriptor, info);
+ return MakeWorkload<ClMeanWorkload>(descriptor, info);
}
std::unique_ptr<IWorkload> ClWorkloadFactory::CreatePad(const PadQueueDescriptor& descriptor,