From c577f2c6a3b4ddb6ba87a882723c53a248afbeba Mon Sep 17 00:00:00 2001 From: telsoa01 Date: Fri, 31 Aug 2018 09:22:23 +0100 Subject: Release 18.08 --- src/armnn/backends/RefWorkloadFactory.hpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/armnn/backends/RefWorkloadFactory.hpp') diff --git a/src/armnn/backends/RefWorkloadFactory.hpp b/src/armnn/backends/RefWorkloadFactory.hpp index 3fab490ad8..ee8639f8ed 100644 --- a/src/armnn/backends/RefWorkloadFactory.hpp +++ b/src/armnn/backends/RefWorkloadFactory.hpp @@ -8,6 +8,7 @@ #include "OutputHandler.hpp" #include +#include namespace armnn { @@ -24,16 +25,17 @@ constexpr bool IsOperationQueueDescriptor(const ConstantQueueDescriptor&) { retu template <> constexpr bool IsOperationQueueDescriptor(const PermuteQueueDescriptor&) { return false; } -// Reference workload factory +// Reference workload factory. class RefWorkloadFactory : public IWorkloadFactory { public: - explicit RefWorkloadFactory(bool operationWorkloadsAllowed = true); - virtual ~RefWorkloadFactory() { }; + explicit RefWorkloadFactory(); + virtual ~RefWorkloadFactory() {} virtual Compute GetCompute() const override { return Compute::CpuRef; } - static bool IsLayerSupported(const Layer& layer, DataType dataType, std::string& outReasonIfUnsupported); + static bool IsLayerSupported(const Layer& layer, boost::optional dataType, + std::string& outReasonIfUnsupported); virtual bool SupportsSubTensors() const override { return false; } @@ -43,7 +45,7 @@ public: { boost::ignore_unused(parent, subTensorShape, subTensorOrigin); return nullptr; - }; + } virtual std::unique_ptr CreateTensorHandle(const TensorInfo& tensorInfo) const override; @@ -113,12 +115,20 @@ public: virtual std::unique_ptr CreateFloor(const FloorQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + virtual std::unique_ptr CreateLstm(const LstmQueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + + virtual std::unique_ptr CreateConvertFp16ToFp32(const ConvertFp16ToFp32QueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + + virtual std::unique_ptr CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + private: template std::unique_ptr MakeWorkload(const QueueDescriptorType& descriptor, const WorkloadInfo& info) const; - const bool m_OperationWorkloadsAllowed; }; } // namespace armnn -- cgit v1.2.1