diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backends/backendsCommon/WorkloadData.cpp | 5 | ||||
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 6 | ||||
-rw-r--r-- | src/backends/reference/RefWorkloadFactory.cpp | 8 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 6667eabdc5..88cd6a69d6 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -1715,7 +1715,9 @@ void MaximumQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const std::vector<DataType> supportedTypes = { + DataType::Float16, DataType::Float32, + DataType::Signed32, DataType::QuantisedAsymm8, DataType::QuantisedSymm16 }; @@ -1834,6 +1836,7 @@ void BatchToSpaceNdQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) c std::vector<DataType> supportedTypes = { DataType::Float32, + DataType::Float16, DataType::QuantisedAsymm8, DataType::QuantisedSymm16 }; @@ -1910,7 +1913,9 @@ void MinimumQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const std::vector<DataType> supportedTypes = { + DataType::Float16, DataType::Float32, + DataType::Signed32, DataType::QuantisedAsymm8, DataType::QuantisedSymm16 }; diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index ba1623af48..df9ba1f255 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -1034,8 +1034,9 @@ bool RefLayerSupport::IsMaximumSupported(const TensorInfo& input0, { bool supported = true; - std::array<DataType,3> supportedTypes = { + std::array<DataType,4> supportedTypes = { DataType::Float32, + DataType::Signed32, DataType::QuantisedAsymm8, DataType::QuantisedSymm16 }; @@ -1163,8 +1164,9 @@ bool RefLayerSupport::IsMinimumSupported(const TensorInfo& input0, { bool supported = true; - std::array<DataType,3> supportedTypes = { + std::array<DataType,4> supportedTypes = { DataType::Float32, + DataType::Signed32, DataType::QuantisedAsymm8, DataType::QuantisedSymm16 }; diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp index 925eb6ad90..240acecbad 100644 --- a/src/backends/reference/RefWorkloadFactory.cpp +++ b/src/backends/reference/RefWorkloadFactory.cpp @@ -380,6 +380,10 @@ std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateSubtraction( std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMaximum( const MaximumQueueDescriptor& descriptor, const WorkloadInfo& info) const { + if (IsFloat16(info)) + { + return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info); + } return std::make_unique<RefMaximumWorkload>(descriptor, info); } @@ -396,6 +400,10 @@ std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMean( std::unique_ptr<armnn::IWorkload> RefWorkloadFactory::CreateMinimum( const MinimumQueueDescriptor& descriptor, const WorkloadInfo& info) const { + if (IsFloat16(info)) + { + return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info); + } return std::make_unique<RefMinimumWorkload>(descriptor, info); } |