diff options
Diffstat (limited to 'src/backends/backendsCommon/WorkloadData.cpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadData.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index e8e10d972a..c94fa25ac2 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -350,6 +350,27 @@ void SplitterQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const { ValidateNumInputs(workloadInfo, "SplitterQueueDescriptor", 1); + // Check the supported data types + std::vector<DataType> supportedTypes = + { + DataType::Float32, + DataType::Float16, + DataType::Boolean, + DataType::Signed32, + DataType::QuantisedAsymm8, + DataType::QuantisedSymm16 + }; + + for (unsigned long i = 0; i < workloadInfo.m_OutputTensorInfos.size(); ++i) + { + ValidateDataTypes(workloadInfo.m_OutputTensorInfos[i], + supportedTypes, + "SplitterQueueDescriptor"); + } + ValidateDataTypes(workloadInfo.m_OutputTensorInfos[0], + {workloadInfo.m_InputTensorInfos[0].GetDataType()}, + "SplitterQueueDescriptor"); + if (workloadInfo.m_OutputTensorInfos.size() <= 0) { throw InvalidArgumentException("SplitterQueueDescriptor: At least one output needs to be provided."); |