1567 auto activationQueueDescriptor = PolymorphicDowncast<const ActivationQueueDescriptor*>(&descriptor);
1568 return CreateActivation(*activationQueueDescriptor,
info);
1572 auto additionQueueDescriptor = PolymorphicDowncast<const AdditionQueueDescriptor*>(&descriptor);
1573 return CreateAddition(*additionQueueDescriptor,
info);
1577 auto argMinMaxQueueDescriptor = PolymorphicDowncast<const ArgMinMaxQueueDescriptor*>(&descriptor);
1578 return CreateArgMinMax(*argMinMaxQueueDescriptor,
info);
1582 auto batchNormQueueDescriptor = PolymorphicDowncast<const BatchNormalizationQueueDescriptor*>(&descriptor);
1583 return CreateBatchNormalization(*batchNormQueueDescriptor,
info);
1587 auto batchToSpaceNdQueueDescriptor
1588 = PolymorphicDowncast<const BatchToSpaceNdQueueDescriptor*>(&descriptor);
1589 return CreateBatchToSpaceNd(*batchToSpaceNdQueueDescriptor,
info);
1593 auto castQueueDescriptor = PolymorphicDowncast<const CastQueueDescriptor*>(&descriptor);
1594 return CreateCast(*castQueueDescriptor,
info);
1598 auto channelShuffleQueueDescriptor
1599 = PolymorphicDowncast<const ChannelShuffleQueueDescriptor*>(&descriptor);
1600 return CreateChannelShuffle(*channelShuffleQueueDescriptor,
info);
1604 auto comparisonQueueDescriptor = PolymorphicDowncast<const ComparisonQueueDescriptor*>(&descriptor);
1605 return CreateComparison(*comparisonQueueDescriptor,
info);
1609 auto concatQueueDescriptor = PolymorphicDowncast<const ConcatQueueDescriptor*>(&descriptor);
1610 return CreateConcat(*concatQueueDescriptor,
info);
1614 auto constantQueueDescriptor = PolymorphicDowncast<const ConstantQueueDescriptor*>(&descriptor);
1615 return CreateConstant(*constantQueueDescriptor,
info);
1619 auto convertBf16ToFp32QueueDescriptor
1620 = PolymorphicDowncast<const ConvertBf16ToFp32QueueDescriptor*>(&descriptor);
1621 return CreateConvertBf16ToFp32(*convertBf16ToFp32QueueDescriptor,
info);
1625 auto convertFp16ToFp32QueueDescriptor
1626 = PolymorphicDowncast<const ConvertFp16ToFp32QueueDescriptor*>(&descriptor);
1627 return CreateConvertFp16ToFp32(*convertFp16ToFp32QueueDescriptor,
info);
1631 auto convertFp32ToBf16QueueDescriptor
1632 = PolymorphicDowncast<const ConvertFp32ToBf16QueueDescriptor*>(&descriptor);
1633 return CreateConvertFp32ToBf16(*convertFp32ToBf16QueueDescriptor,
info);
1637 auto convertFp32ToFp16QueueDescriptor
1638 = PolymorphicDowncast<const ConvertFp32ToFp16QueueDescriptor*>(&descriptor);
1639 return CreateConvertFp32ToFp16(*convertFp32ToFp16QueueDescriptor,
info);
1643 auto convolution2dQueueDescriptor = PolymorphicDowncast<const Convolution2dQueueDescriptor*>(&descriptor);
1644 return CreateConvolution2d(*convolution2dQueueDescriptor,
info);
1648 auto convolution3dQueueDescriptor = PolymorphicDowncast<const Convolution3dQueueDescriptor*>(&descriptor);
1649 return CreateConvolution3d(*convolution3dQueueDescriptor,
info);
1653 auto debugQueueDescriptor = PolymorphicDowncast<const DebugQueueDescriptor*>(&descriptor);
1654 return CreateDebug(*debugQueueDescriptor,
info);
1658 auto depthToSpaceQueueDescriptor = PolymorphicDowncast<const DepthToSpaceQueueDescriptor*>(&descriptor);
1659 return CreateDepthToSpace(*depthToSpaceQueueDescriptor,
info);
1663 auto depthwiseConvolution2DQueueDescriptor
1664 = PolymorphicDowncast<const DepthwiseConvolution2dQueueDescriptor*>(&descriptor);
1665 return CreateDepthwiseConvolution2d(*depthwiseConvolution2DQueueDescriptor,
info);
1669 auto dequantizeQueueDescriptor = PolymorphicDowncast<const DequantizeQueueDescriptor*>(&descriptor);
1670 return CreateDequantize(*dequantizeQueueDescriptor,
info);
1674 auto detectionPostProcessQueueDescriptor
1675 = PolymorphicDowncast<const DetectionPostProcessQueueDescriptor*>(&descriptor);
1676 return CreateDetectionPostProcess(*detectionPostProcessQueueDescriptor,
info);
1680 auto divisionQueueDescriptor = PolymorphicDowncast<const DivisionQueueDescriptor*>(&descriptor);
1681 return CreateDivision(*divisionQueueDescriptor,
info);
1685 auto elementwiseUnaryQueueDescriptor
1686 = PolymorphicDowncast<const ElementwiseUnaryQueueDescriptor*>(&descriptor);
1687 return CreateElementwiseUnary(*elementwiseUnaryQueueDescriptor,
info);
1692 auto fakeQuantizationQueueDescriptor
1693 = PolymorphicDowncast<const FakeQuantizationQueueDescriptor*>(&descriptor);
1694 return CreateFakeQuantization(*fakeQuantizationQueueDescriptor,
info);
1698 auto fillQueueDescriptor = PolymorphicDowncast<const FillQueueDescriptor*>(&descriptor);
1699 return CreateFill(*fillQueueDescriptor,
info);
1703 auto floorQueueDescriptor = PolymorphicDowncast<const FloorQueueDescriptor*>(&descriptor);
1704 return CreateFloor(*floorQueueDescriptor,
info);
1708 auto fullyConnectedQueueDescriptor
1709 = PolymorphicDowncast<const FullyConnectedQueueDescriptor*>(&descriptor);
1710 return CreateFullyConnected(*fullyConnectedQueueDescriptor,
info);
1714 auto gatherQueueDescriptor = PolymorphicDowncast<const GatherQueueDescriptor*>(&descriptor);
1715 return CreateGather(*gatherQueueDescriptor,
info);
1719 auto inputQueueDescriptor = PolymorphicDowncast<const InputQueueDescriptor*>(&descriptor);
1724 auto instanceNormalizationQueueDescriptor
1725 = PolymorphicDowncast<const InstanceNormalizationQueueDescriptor*>(&descriptor);
1726 return CreateInstanceNormalization(*instanceNormalizationQueueDescriptor,
info);
1730 auto l2NormalizationQueueDescriptor
1731 = PolymorphicDowncast<const L2NormalizationQueueDescriptor*>(&descriptor);
1732 return CreateL2Normalization(*l2NormalizationQueueDescriptor,
info);
1736 auto logicalBinaryQueueDescriptor = PolymorphicDowncast<const LogicalBinaryQueueDescriptor*>(&descriptor);
1737 return CreateLogicalBinary(*logicalBinaryQueueDescriptor,
info);
1741 auto logSoftmaxQueueDescriptor = PolymorphicDowncast<const LogSoftmaxQueueDescriptor*>(&descriptor);
1742 return CreateLogSoftmax(*logSoftmaxQueueDescriptor,
info);
1746 auto lstmQueueDescriptor = PolymorphicDowncast<const LstmQueueDescriptor*>(&descriptor);
1747 return CreateLstm(*lstmQueueDescriptor,
info);
1751 auto maximumQueueDescriptor = PolymorphicDowncast<const MaximumQueueDescriptor*>(&descriptor);
1752 return CreateMaximum(*maximumQueueDescriptor,
info);
1756 auto meanQueueDescriptor = PolymorphicDowncast<const MeanQueueDescriptor*>(&descriptor);
1757 return CreateMean(*meanQueueDescriptor,
info);
1761 auto memCopyQueueDescriptor = PolymorphicDowncast<const MemCopyQueueDescriptor*>(&descriptor);
1762 return CreateMemCopy(*memCopyQueueDescriptor,
info);
1766 auto memImportQueueDescriptor = PolymorphicDowncast<const MemImportQueueDescriptor*>(&descriptor);
1767 return CreateMemImport(*memImportQueueDescriptor,
info);
1771 auto minimumQueueDescriptor = PolymorphicDowncast<const MinimumQueueDescriptor*>(&descriptor);
1772 return CreateMinimum(*minimumQueueDescriptor,
info);
1776 auto multiplicationQueueDescriptor
1777 = PolymorphicDowncast<const MultiplicationQueueDescriptor*>(&descriptor);
1778 return CreateMultiplication(*multiplicationQueueDescriptor,
info);
1782 auto normalizationQueueDescriptor = PolymorphicDowncast<const NormalizationQueueDescriptor*>(&descriptor);
1783 return CreateNormalization(*normalizationQueueDescriptor,
info);
1787 auto outputQueueDescriptor = PolymorphicDowncast<const OutputQueueDescriptor*>(&descriptor);
1788 return CreateOutput(*outputQueueDescriptor,
info);
1792 auto padQueueDescriptor = PolymorphicDowncast<const PadQueueDescriptor*>(&descriptor);
1793 return CreatePad(*padQueueDescriptor,
info);
1797 auto permuteQueueDescriptor = PolymorphicDowncast<const PermuteQueueDescriptor*>(&descriptor);
1798 return CreatePermute(*permuteQueueDescriptor,
info);
1802 auto pooling2dQueueDescriptor = PolymorphicDowncast<const Pooling2dQueueDescriptor*>(&descriptor);
1803 return CreatePooling2d(*pooling2dQueueDescriptor,
info);
1807 auto pooling3dQueueDescriptor = PolymorphicDowncast<const Pooling3dQueueDescriptor*>(&descriptor);
1808 return CreatePooling3d(*pooling3dQueueDescriptor,
info);
1812 auto preCompiledQueueDescriptor = PolymorphicDowncast<const PreCompiledQueueDescriptor*>(&descriptor);
1813 return CreatePreCompiled(*preCompiledQueueDescriptor,
info);
1817 auto preluQueueDescriptor = PolymorphicDowncast<const PreluQueueDescriptor*>(&descriptor);
1818 return CreatePrelu(*preluQueueDescriptor,
info);
1822 auto qlstmQueueDescriptor = PolymorphicDowncast<const QLstmQueueDescriptor*>(&descriptor);
1823 return CreateQLstm(*qlstmQueueDescriptor,
info);
1827 auto quantizeQueueDescriptor = PolymorphicDowncast<const QuantizeQueueDescriptor*>(&descriptor);
1828 return CreateQuantize(*quantizeQueueDescriptor,
info);
1832 auto rankQueueDescriptor = PolymorphicDowncast<const RankQueueDescriptor*>(&descriptor);
1833 return CreateRank(*rankQueueDescriptor,
info);
1837 auto reduceQueueDescriptor = PolymorphicDowncast<const ReduceQueueDescriptor*>(&descriptor);
1838 return CreateReduce(*reduceQueueDescriptor,
info);
1842 auto reshapeQueueDescriptor = PolymorphicDowncast<const ReshapeQueueDescriptor*>(&descriptor);
1843 return CreateReshape(*reshapeQueueDescriptor,
info);
1847 auto resizeQueueDescriptor = PolymorphicDowncast<const ResizeQueueDescriptor*>(&descriptor);
1848 return CreateResize(*resizeQueueDescriptor,
info);
1852 auto shapeQueueDescriptor = PolymorphicDowncast<const ShapeQueueDescriptor*>(&descriptor);
1853 return CreateShape(*shapeQueueDescriptor,
info);
1857 auto sliceQueueDescriptor = PolymorphicDowncast<const SliceQueueDescriptor*>(&descriptor);
1858 return CreateSlice(*sliceQueueDescriptor,
info);
1862 auto softmaxQueueDescriptor = PolymorphicDowncast<const SoftmaxQueueDescriptor*>(&descriptor);
1863 return CreateSoftmax(*softmaxQueueDescriptor,
info);
1867 auto spaceToBatchNdQueueDescriptor
1868 = PolymorphicDowncast<const SpaceToBatchNdQueueDescriptor*>(&descriptor);
1869 return CreateSpaceToBatchNd(*spaceToBatchNdQueueDescriptor,
info);
1873 auto spaceToDepthQueueDescriptor = PolymorphicDowncast<const SpaceToDepthQueueDescriptor*>(&descriptor);
1874 return CreateSpaceToDepth(*spaceToDepthQueueDescriptor,
info);
1878 auto splitterQueueDescriptor = PolymorphicDowncast<const SplitterQueueDescriptor*>(&descriptor);
1879 return CreateSplitter(*splitterQueueDescriptor,
info);
1883 auto stackQueueDescriptor = PolymorphicDowncast<const StackQueueDescriptor*>(&descriptor);
1884 return CreateStack(*stackQueueDescriptor,
info);
1888 auto stridedSliceQueueDescriptor = PolymorphicDowncast<const StridedSliceQueueDescriptor*>(&descriptor);
1889 return CreateStridedSlice(*stridedSliceQueueDescriptor,
info);
1893 auto subtractionQueueDescriptor = PolymorphicDowncast<const SubtractionQueueDescriptor*>(&descriptor);
1894 return CreateSubtraction(*subtractionQueueDescriptor,
info);
1898 auto transposeQueueDescriptor = PolymorphicDowncast<const TransposeQueueDescriptor*>(&descriptor);
1899 return CreateTranspose(*transposeQueueDescriptor,
info);
1903 auto transposeConvolution2dQueueDescriptor
1904 = PolymorphicDowncast<const TransposeConvolution2dQueueDescriptor*>(&descriptor);
1905 return CreateTransposeConvolution2d(*transposeConvolution2dQueueDescriptor,
info);
1909 auto unidirectionalSequenceLstmQueueDescriptor
1910 = PolymorphicDowncast<const UnidirectionalSequenceLstmQueueDescriptor*>(&descriptor);
1911 return CreateUnidirectionalSequenceLstm(*unidirectionalSequenceLstmQueueDescriptor,
info);
virtual std::unique_ptr< IWorkload > CreateInput(const InputQueueDescriptor &descriptor, const WorkloadInfo &info) const =0