1549 auto activationQueueDescriptor = PolymorphicDowncast<const ActivationQueueDescriptor*>(&descriptor);
1550 return CreateActivation(*activationQueueDescriptor,
info);
1554 auto additionQueueDescriptor = PolymorphicDowncast<const AdditionQueueDescriptor*>(&descriptor);
1555 return CreateAddition(*additionQueueDescriptor,
info);
1559 auto argMinMaxQueueDescriptor = PolymorphicDowncast<const ArgMinMaxQueueDescriptor*>(&descriptor);
1560 return CreateArgMinMax(*argMinMaxQueueDescriptor,
info);
1564 auto batchNormQueueDescriptor = PolymorphicDowncast<const BatchNormalizationQueueDescriptor*>(&descriptor);
1565 return CreateBatchNormalization(*batchNormQueueDescriptor,
info);
1569 auto batchToSpaceNdQueueDescriptor
1570 = PolymorphicDowncast<const BatchToSpaceNdQueueDescriptor*>(&descriptor);
1571 return CreateBatchToSpaceNd(*batchToSpaceNdQueueDescriptor,
info);
1575 auto castQueueDescriptor = PolymorphicDowncast<const CastQueueDescriptor*>(&descriptor);
1576 return CreateCast(*castQueueDescriptor,
info);
1580 auto channelShuffleQueueDescriptor
1581 = PolymorphicDowncast<const ChannelShuffleQueueDescriptor*>(&descriptor);
1582 return CreateChannelShuffle(*channelShuffleQueueDescriptor,
info);
1586 auto comparisonQueueDescriptor = PolymorphicDowncast<const ComparisonQueueDescriptor*>(&descriptor);
1587 return CreateComparison(*comparisonQueueDescriptor,
info);
1591 auto concatQueueDescriptor = PolymorphicDowncast<const ConcatQueueDescriptor*>(&descriptor);
1592 return CreateConcat(*concatQueueDescriptor,
info);
1596 auto constantQueueDescriptor = PolymorphicDowncast<const ConstantQueueDescriptor*>(&descriptor);
1597 return CreateConstant(*constantQueueDescriptor,
info);
1601 auto convertBf16ToFp32QueueDescriptor
1602 = PolymorphicDowncast<const ConvertBf16ToFp32QueueDescriptor*>(&descriptor);
1603 return CreateConvertBf16ToFp32(*convertBf16ToFp32QueueDescriptor,
info);
1607 auto convertFp16ToFp32QueueDescriptor
1608 = PolymorphicDowncast<const ConvertFp16ToFp32QueueDescriptor*>(&descriptor);
1609 return CreateConvertFp16ToFp32(*convertFp16ToFp32QueueDescriptor,
info);
1613 auto convertFp32ToBf16QueueDescriptor
1614 = PolymorphicDowncast<const ConvertFp32ToBf16QueueDescriptor*>(&descriptor);
1615 return CreateConvertFp32ToBf16(*convertFp32ToBf16QueueDescriptor,
info);
1619 auto convertFp32ToFp16QueueDescriptor
1620 = PolymorphicDowncast<const ConvertFp32ToFp16QueueDescriptor*>(&descriptor);
1621 return CreateConvertFp32ToFp16(*convertFp32ToFp16QueueDescriptor,
info);
1625 auto convolution2dQueueDescriptor = PolymorphicDowncast<const Convolution2dQueueDescriptor*>(&descriptor);
1626 return CreateConvolution2d(*convolution2dQueueDescriptor,
info);
1630 auto convolution3dQueueDescriptor = PolymorphicDowncast<const Convolution3dQueueDescriptor*>(&descriptor);
1631 return CreateConvolution3d(*convolution3dQueueDescriptor,
info);
1635 auto debugQueueDescriptor = PolymorphicDowncast<const DebugQueueDescriptor*>(&descriptor);
1636 return CreateDebug(*debugQueueDescriptor,
info);
1640 auto depthToSpaceQueueDescriptor = PolymorphicDowncast<const DepthToSpaceQueueDescriptor*>(&descriptor);
1641 return CreateDepthToSpace(*depthToSpaceQueueDescriptor,
info);
1645 auto depthwiseConvolution2DQueueDescriptor
1646 = PolymorphicDowncast<const DepthwiseConvolution2dQueueDescriptor*>(&descriptor);
1647 return CreateDepthwiseConvolution2d(*depthwiseConvolution2DQueueDescriptor,
info);
1651 auto dequantizeQueueDescriptor = PolymorphicDowncast<const DequantizeQueueDescriptor*>(&descriptor);
1652 return CreateDequantize(*dequantizeQueueDescriptor,
info);
1656 auto detectionPostProcessQueueDescriptor
1657 = PolymorphicDowncast<const DetectionPostProcessQueueDescriptor*>(&descriptor);
1658 return CreateDetectionPostProcess(*detectionPostProcessQueueDescriptor,
info);
1662 auto divisionQueueDescriptor = PolymorphicDowncast<const DivisionQueueDescriptor*>(&descriptor);
1663 return CreateDivision(*divisionQueueDescriptor,
info);
1667 auto elementwiseUnaryQueueDescriptor
1668 = PolymorphicDowncast<const ElementwiseUnaryQueueDescriptor*>(&descriptor);
1669 return CreateElementwiseUnary(*elementwiseUnaryQueueDescriptor,
info);
1674 auto fakeQuantizationQueueDescriptor
1675 = PolymorphicDowncast<const FakeQuantizationQueueDescriptor*>(&descriptor);
1676 return CreateFakeQuantization(*fakeQuantizationQueueDescriptor,
info);
1680 auto fillQueueDescriptor = PolymorphicDowncast<const FillQueueDescriptor*>(&descriptor);
1681 return CreateFill(*fillQueueDescriptor,
info);
1685 auto floorQueueDescriptor = PolymorphicDowncast<const FloorQueueDescriptor*>(&descriptor);
1686 return CreateFloor(*floorQueueDescriptor,
info);
1690 auto fullyConnectedQueueDescriptor
1691 = PolymorphicDowncast<const FullyConnectedQueueDescriptor*>(&descriptor);
1692 return CreateFullyConnected(*fullyConnectedQueueDescriptor,
info);
1696 auto gatherQueueDescriptor = PolymorphicDowncast<const GatherQueueDescriptor*>(&descriptor);
1697 return CreateGather(*gatherQueueDescriptor,
info);
1701 auto inputQueueDescriptor = PolymorphicDowncast<const InputQueueDescriptor*>(&descriptor);
1706 auto instanceNormalizationQueueDescriptor
1707 = PolymorphicDowncast<const InstanceNormalizationQueueDescriptor*>(&descriptor);
1708 return CreateInstanceNormalization(*instanceNormalizationQueueDescriptor,
info);
1712 auto l2NormalizationQueueDescriptor
1713 = PolymorphicDowncast<const L2NormalizationQueueDescriptor*>(&descriptor);
1714 return CreateL2Normalization(*l2NormalizationQueueDescriptor,
info);
1718 auto logicalBinaryQueueDescriptor = PolymorphicDowncast<const LogicalBinaryQueueDescriptor*>(&descriptor);
1719 return CreateLogicalBinary(*logicalBinaryQueueDescriptor,
info);
1723 auto logSoftmaxQueueDescriptor = PolymorphicDowncast<const LogSoftmaxQueueDescriptor*>(&descriptor);
1724 return CreateLogSoftmax(*logSoftmaxQueueDescriptor,
info);
1728 auto lstmQueueDescriptor = PolymorphicDowncast<const LstmQueueDescriptor*>(&descriptor);
1729 return CreateLstm(*lstmQueueDescriptor,
info);
1733 auto maximumQueueDescriptor = PolymorphicDowncast<const MaximumQueueDescriptor*>(&descriptor);
1734 return CreateMaximum(*maximumQueueDescriptor,
info);
1738 auto meanQueueDescriptor = PolymorphicDowncast<const MeanQueueDescriptor*>(&descriptor);
1739 return CreateMean(*meanQueueDescriptor,
info);
1743 auto memCopyQueueDescriptor = PolymorphicDowncast<const MemCopyQueueDescriptor*>(&descriptor);
1744 return CreateMemCopy(*memCopyQueueDescriptor,
info);
1748 auto memImportQueueDescriptor = PolymorphicDowncast<const MemImportQueueDescriptor*>(&descriptor);
1749 return CreateMemImport(*memImportQueueDescriptor,
info);
1753 auto minimumQueueDescriptor = PolymorphicDowncast<const MinimumQueueDescriptor*>(&descriptor);
1754 return CreateMinimum(*minimumQueueDescriptor,
info);
1758 auto multiplicationQueueDescriptor
1759 = PolymorphicDowncast<const MultiplicationQueueDescriptor*>(&descriptor);
1760 return CreateMultiplication(*multiplicationQueueDescriptor,
info);
1764 auto normalizationQueueDescriptor = PolymorphicDowncast<const NormalizationQueueDescriptor*>(&descriptor);
1765 return CreateNormalization(*normalizationQueueDescriptor,
info);
1769 auto outputQueueDescriptor = PolymorphicDowncast<const OutputQueueDescriptor*>(&descriptor);
1770 return CreateOutput(*outputQueueDescriptor,
info);
1774 auto padQueueDescriptor = PolymorphicDowncast<const PadQueueDescriptor*>(&descriptor);
1775 return CreatePad(*padQueueDescriptor,
info);
1779 auto permuteQueueDescriptor = PolymorphicDowncast<const PermuteQueueDescriptor*>(&descriptor);
1780 return CreatePermute(*permuteQueueDescriptor,
info);
1784 auto pooling2dQueueDescriptor = PolymorphicDowncast<const Pooling2dQueueDescriptor*>(&descriptor);
1785 return CreatePooling2d(*pooling2dQueueDescriptor,
info);
1789 auto pooling3dQueueDescriptor = PolymorphicDowncast<const Pooling3dQueueDescriptor*>(&descriptor);
1790 return CreatePooling3d(*pooling3dQueueDescriptor,
info);
1794 auto preCompiledQueueDescriptor = PolymorphicDowncast<const PreCompiledQueueDescriptor*>(&descriptor);
1795 return CreatePreCompiled(*preCompiledQueueDescriptor,
info);
1799 auto preluQueueDescriptor = PolymorphicDowncast<const PreluQueueDescriptor*>(&descriptor);
1800 return CreatePrelu(*preluQueueDescriptor,
info);
1804 auto qlstmQueueDescriptor = PolymorphicDowncast<const QLstmQueueDescriptor*>(&descriptor);
1805 return CreateQLstm(*qlstmQueueDescriptor,
info);
1809 auto quantizeQueueDescriptor = PolymorphicDowncast<const QuantizeQueueDescriptor*>(&descriptor);
1810 return CreateQuantize(*quantizeQueueDescriptor,
info);
1814 auto rankQueueDescriptor = PolymorphicDowncast<const RankQueueDescriptor*>(&descriptor);
1815 return CreateRank(*rankQueueDescriptor,
info);
1819 auto reduceQueueDescriptor = PolymorphicDowncast<const ReduceQueueDescriptor*>(&descriptor);
1820 return CreateReduce(*reduceQueueDescriptor,
info);
1824 auto reshapeQueueDescriptor = PolymorphicDowncast<const ReshapeQueueDescriptor*>(&descriptor);
1825 return CreateReshape(*reshapeQueueDescriptor,
info);
1829 auto resizeQueueDescriptor = PolymorphicDowncast<const ResizeQueueDescriptor*>(&descriptor);
1830 return CreateResize(*resizeQueueDescriptor,
info);
1834 auto shapeQueueDescriptor = PolymorphicDowncast<const ShapeQueueDescriptor*>(&descriptor);
1835 return CreateShape(*shapeQueueDescriptor,
info);
1839 auto sliceQueueDescriptor = PolymorphicDowncast<const SliceQueueDescriptor*>(&descriptor);
1840 return CreateSlice(*sliceQueueDescriptor,
info);
1844 auto softmaxQueueDescriptor = PolymorphicDowncast<const SoftmaxQueueDescriptor*>(&descriptor);
1845 return CreateSoftmax(*softmaxQueueDescriptor,
info);
1849 auto spaceToBatchNdQueueDescriptor
1850 = PolymorphicDowncast<const SpaceToBatchNdQueueDescriptor*>(&descriptor);
1851 return CreateSpaceToBatchNd(*spaceToBatchNdQueueDescriptor,
info);
1855 auto spaceToDepthQueueDescriptor = PolymorphicDowncast<const SpaceToDepthQueueDescriptor*>(&descriptor);
1856 return CreateSpaceToDepth(*spaceToDepthQueueDescriptor,
info);
1860 auto splitterQueueDescriptor = PolymorphicDowncast<const SplitterQueueDescriptor*>(&descriptor);
1861 return CreateSplitter(*splitterQueueDescriptor,
info);
1865 auto stackQueueDescriptor = PolymorphicDowncast<const StackQueueDescriptor*>(&descriptor);
1866 return CreateStack(*stackQueueDescriptor,
info);
1870 auto stridedSliceQueueDescriptor = PolymorphicDowncast<const StridedSliceQueueDescriptor*>(&descriptor);
1871 return CreateStridedSlice(*stridedSliceQueueDescriptor,
info);
1875 auto subtractionQueueDescriptor = PolymorphicDowncast<const SubtractionQueueDescriptor*>(&descriptor);
1876 return CreateSubtraction(*subtractionQueueDescriptor,
info);
1880 auto transposeQueueDescriptor = PolymorphicDowncast<const TransposeQueueDescriptor*>(&descriptor);
1881 return CreateTranspose(*transposeQueueDescriptor,
info);
1885 auto transposeConvolution2dQueueDescriptor
1886 = PolymorphicDowncast<const TransposeConvolution2dQueueDescriptor*>(&descriptor);
1887 return CreateTransposeConvolution2d(*transposeConvolution2dQueueDescriptor,
info);
1891 auto unidirectionalSequenceLstmQueueDescriptor
1892 = PolymorphicDowncast<const UnidirectionalSequenceLstmQueueDescriptor*>(&descriptor);
1893 return CreateUnidirectionalSequenceLstm(*unidirectionalSequenceLstmQueueDescriptor,
info);
virtual std::unique_ptr< IWorkload > CreateInput(const InputQueueDescriptor &descriptor, const WorkloadInfo &info) const =0