diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-09-10 13:32:42 +0100 |
---|---|---|
committer | Kevin May <kevin.may@arm.com> | 2019-09-12 08:18:18 +0000 |
commit | 39f44af5890cb6627f721ee2f8cb92a0a4c10378 (patch) | |
tree | 8d1e6317bcba7c68307673e82d92acf44568f49b /src/backends/cl | |
parent | c81a300902c7c7bf75a2b6cb2a85d59ff3d9dcf0 (diff) | |
download | armnn-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/backends/cl')
-rw-r--r-- | src/backends/cl/ClWorkloadFactory.cpp | 13 |
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, |