ONE - On-device Neural Engine
|
#include <Pass.h>
Public Member Functions | |
virtual | ~Pass ()=default |
virtual const char * | name (void) const |
virtual bool | run (loco::Graph *graph)=0 |
Run the pass. | |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in exo::CanonicalNodeConverter< CanonicalType >, exo::CanonicalNodeConverter< loco::AvgPool2D >, exo::CanonicalNodeConverter< loco::ConstGen >, exo::CanonicalNodeConverter< loco::Conv2D >, exo::CanonicalNodeConverter< loco::DepthwiseConv2D >, exo::CanonicalNodeConverter< loco::EltwiseAdd >, exo::CanonicalNodeConverter< loco::EltwiseDiv >, exo::CanonicalNodeConverter< loco::EltwiseMax >, exo::CanonicalNodeConverter< loco::EltwiseMul >, exo::CanonicalNodeConverter< loco::EltwiseSqrt >, exo::CanonicalNodeConverter< loco::EltwiseSub >, exo::CanonicalNodeConverter< loco::FeatureBiasAdd >, exo::CanonicalNodeConverter< loco::MatMul >, exo::CanonicalNodeConverter< loco::MaxPool2D >, exo::CanonicalNodeConverter< loco::ReLU >, exo::CanonicalNodeConverter< loco::ReLU6 >, exo::CanonicalNodeConverter< loco::TensorConcat >, exo::CanonicalNodeConverter< loco::TensorReduce >, exo::CanonicalNodeConverter< loco::TensorTranspose >, exo::CanonicalNodeConverter< loco::TransposedConv2D >, exo::TensorBroadcastConverter, exo::MergeConcatNodesPass, exo::ShapeInferencePass, exo::TypeInferencePass, fme_apply::FusePostScalePass, fme_apply::FusePreScalePass, luci::CircleShapeInferencePass, luci::CircleTypeInferencePass, luci::CommonSubExpressionEliminationPass, luci::CopyQuantParamPass, luci::DynamicBatchToSingleBatchPass, luci::ForceQuantParamPass, luci::QuantizeDequantizeWeightsPass, luci::QuantizeDequantizeWeightsWithGPTQPass, luci::QuantizeOnnxFakeQuantModelPass, luci::QuantizeWeightsPass, luci::QuantizeWithMinMaxPass, luci::RequantizePass, exo::AvgPool2DConverter, exo::ConstGenConverter, exo::Conv2DConverter, exo::DepthwiseConv2DConverter, exo::EltwiseAddConverter, exo::EltwiseDivConverter, exo::EltwiseMaxConverter, exo::EltwiseMulConverter, exo::EltwiseSqrtConverter, exo::EltwiseSubConverter, exo::FeatureBiasAddConverter, exo::MatMulConverter, exo::MaxPool2DConverter, exo::Relu6Converter, exo::ReluConverter, exo::TensorConcatConverter, exo::TensorReduceConverter, exo::TensorTransposeConverter, exo::TransposedConv2DConverter, exo::FoldReshapeOfConstPass, exo::FoldTransposeOfConstPass, exo::FuseBiasAddPass, exo::FuseInstanceNormPass, exo::FuseReluPass, exo::FuseRsqrtPass, exo::FuseSquaredDifferencePass, logo::ConstantFoldingPass, logo::RemoveDeadNodePass, logo::RemoveDeadNodeWithQueryPass, logo::RemoveForwardNodePass, logo::ReorderDecodePass< loco::TensorBiasAdd >, logo::ReorderDecodePass< loco::ReLU >, logo::ResolveDuplicateReshapePass, logo::ResolveRedundantReshapePass, logo::SimplifyDomainConversionPass, luci::CanonicalizePass, luci::ConvertNCHWToNHWCPass, luci::ConvertToFakeQuantizedModelPass, luci::DecomposeHardSwishPass, luci::DecomposeSoftmaxPass, luci::ExpandBroadcastConstPass, luci::FoldAddV2Pass, luci::FoldCastPass, luci::FoldDensifyPass, luci::FoldDepthwiseConv2DPass, luci::FoldDequantizePass, luci::FoldFullyConnectedPass, luci::FoldGatherPass, luci::FoldMulPass, luci::FoldReshapePass, luci::FoldShapePass, luci::FoldSparseToDensePass, luci::FoldSqueezePass, luci::ForwardReshapeToUnaryOpPass, luci::ForwardTransposeOpPass, luci::FuseActivationFunctionPass, luci::FuseAddToFullyConnectedBiasPass, luci::FuseAddWithConvPass, luci::FuseAddWithFullyConnectedPass, luci::FuseAddWithTConvPass, luci::FuseBatchNormWithConvPass, luci::FuseBatchNormWithDwConvPass, luci::FuseBatchNormWithTConvPass, luci::FuseBCQPass, luci::FuseGeluPass, luci::FuseHorizontalFullyConnectedPass, luci::FuseInstanceNormPass, luci::FuseMeanWithMeanPass, luci::FuseMulToFullyConnectedWeightsPass, luci::FuseMulWithConvPass, luci::FuseMulWithDivPass, luci::FuseMulWithFullyConnectedPass, luci::FusePreActivationBatchNormPass, luci::FusePReluPass, luci::FuseRmsNormPass, luci::FuseRoPEPass, luci::FuseRsqrtPass, luci::FuseSliceWithTConvPass, luci::FuseTransposeWithMeanPass, luci::MakeBatchNormGammaPositivePass, luci::PropagateQParamBackwardPass, luci::PropagateQParamForwardPass, luci::QuantizePreCheckerPass, luci::RemoveDuplicateConstPass, luci::RemoveFakeQuantPass, luci::RemoveGatherGuardPass, luci::RemoveQDQForMixedPrecisionOpPass, luci::RemoveQuantDequantSeqPass, luci::RemoveRedundantDequantizePass, luci::RemoveRedundantQuantizePass, luci::RemoveRedundantReshapePass, luci::RemoveRedundantTransposePass, luci::RemoveUnnecessaryAddPass, luci::RemoveUnnecessaryCastPass, luci::RemoveUnnecessaryReshapeNetPass, luci::RemoveUnnecessaryReshapePass, luci::RemoveUnnecessarySlicePass, luci::RemoveUnnecessarySplitPass, luci::RemoveUnnecessaryStridedSlicePass, luci::RemoveUnnecessaryTransposeNetPass, luci::ReplaceMulAddWithDepthwiseConvPass, luci::ReplaceNonConstFCWithBatchMatMulPass, luci::ReplaceSubWithAddPass, luci::ReplaceWithFCGeluFCPass, luci::ResolveCustomOpAddPass, luci::ResolveCustomOpBatchMatMulPass, luci::ResolveCustomOpMatMulPass, luci::ResolveCustomOpMaxPoolWithArgmaxPass, luci::ResolveCustomOpSplitVPass, luci::ResolveFormerCustomOpPass, luci::ShuffleWeightTo16x1Float32Pass, luci::SparsifyTensorPass, luci::SubstituteExpandDimsToReshapePass, luci::SubstitutePackToReshapePass, luci::SubstitutePadV2ToPadPass, luci::SubstituteSplitVToSplitPass, luci::SubstituteSqueezeToReshapePass, luci::SubstituteStridedSliceToReshapePass, luci::SubstituteTransposeToReshapePass, luci::TransformMinMaxToRelu6Pass, luci::TransformMinReluToRelu6Pass, luci::TransformSqrtDivToRsqrtMulPass, luci::UnrollUnidirectionalSequenceLSTMPass, luci::XpSepActFromTransposeConvPass, luci::QuantizeOnnxDequantizeLinearPass, luci::QuantizeOnnxQDQPass, luci::QuantizeWithPredecessorPass, moco::tf::AddCanonicalizer, moco::tf::AvgPoolCanonicalizer, moco::tf::BiasAddCanonicalizer, moco::tf::ConcatV2Canonicalizer, moco::tf::ConstCanonicalizer, moco::tf::Conv2DBackpropInputCanonicalizer, moco::tf::Conv2DCanonicalizer, moco::tf::DepthwiseConv2dNativeCanonicalizer, moco::tf::IdentityCanonicalizer, moco::tf::MaximumCanonicalizer, moco::tf::MaxPoolCanonicalizer, moco::tf::MeanCanonicalizer, moco::tf::MulCanonicalizer, moco::tf::PadCanonicalizer, moco::tf::PlaceholderCanonicalizer, moco::tf::RealDivCanonicalizer, moco::tf::Relu6Canonicalizer, moco::tf::ReluCanonicalizer, moco::tf::ReshapeCanonicalizer, moco::tf::RsqrtCanonicalizer, moco::tf::SoftmaxCanonicalizer, moco::tf::SqrtCanonicalizer, moco::tf::SqueezeCanonicalizer, moco::tf::StopGradientCanonicalizer, moco::tf::SubCanonicalizer, moco::tf::TanhCanonicalizer, moco::tf::TFPushCanonicalizer, moco::tf::ShapeInferencePass, moco::tf::TypeInferencePass, moco::ConstantFoldAdd, moco::ConstantFoldMul, moco::ConstantFoldPack, moco::ConstantFoldStridedSlice, moco::FuseBinaryIntoPreceding, moco::RemoveTFIdentityNode, moco::ResolveConstantShape, moco::ResolveFusedBatchNorm, moco::ResolveReshapeWildcardDim, moco::ResolveSquaredDifference, and moco::SqueezeReduceNode.
Definition at line 33 of file Pass.h.
Referenced by logo::pass_name(), and moco::tf::transform_name().
|
pure virtual |
Run the pass.
Implemented in logo::RemoveDeadNodePass, logo::RemoveDeadNodeWithQueryPass, logo::ReorderDecodePass< loco::TensorBiasAdd >, logo::ReorderDecodePass< loco::ReLU >, luci::CircleTypeInferencePass, exo::FoldReshapeOfConstPass, exo::FoldTransposeOfConstPass, exo::FuseBiasAddPass, exo::FuseInstanceNormPass, exo::FuseReluPass, exo::FuseRsqrtPass, exo::FuseSquaredDifferencePass, logo::RemoveForwardNodePass, logo::SimplifyDomainConversionPass, luci::CanonicalizePass, luci::ConvertNCHWToNHWCPass, luci::ConvertToFakeQuantizedModelPass, luci::DecomposeHardSwishPass, luci::DecomposeSoftmaxPass, luci::ExpandBroadcastConstPass, luci::FoldAddV2Pass, luci::FoldCastPass, luci::FoldDensifyPass, luci::FoldDepthwiseConv2DPass, luci::FoldDequantizePass, luci::FoldFullyConnectedPass, luci::FoldGatherPass, luci::FoldMulPass, luci::FoldReshapePass, luci::FoldShapePass, luci::FoldSparseToDensePass, luci::FoldSqueezePass, luci::ForwardReshapeToUnaryOpPass, luci::ForwardTransposeOpPass, luci::FuseActivationFunctionPass, luci::FuseAddToFullyConnectedBiasPass, luci::FuseAddWithConvPass, luci::FuseAddWithFullyConnectedPass, luci::FuseAddWithTConvPass, luci::FuseBatchNormWithConvPass, luci::FuseBatchNormWithDwConvPass, luci::FuseBatchNormWithTConvPass, luci::FuseBCQPass, luci::FuseGeluPass, luci::FuseHorizontalFullyConnectedPass, luci::FuseInstanceNormPass, luci::FuseMeanWithMeanPass, luci::FuseMulToFullyConnectedWeightsPass, luci::FuseMulWithConvPass, luci::FuseMulWithDivPass, luci::FuseMulWithFullyConnectedPass, luci::FusePreActivationBatchNormPass, luci::FusePReluPass, luci::FuseRmsNormPass, luci::FuseRoPEPass, luci::FuseRsqrtPass, luci::FuseSliceWithTConvPass, luci::FuseTransposeWithMeanPass, luci::MakeBatchNormGammaPositivePass, luci::PropagateQParamBackwardPass, luci::PropagateQParamForwardPass, luci::RemoveDuplicateConstPass, luci::RemoveFakeQuantPass, luci::RemoveGatherGuardPass, luci::RemoveQDQForMixedPrecisionOpPass, luci::RemoveQuantDequantSeqPass, luci::RemoveRedundantDequantizePass, luci::RemoveRedundantQuantizePass, luci::RemoveRedundantReshapePass, luci::RemoveRedundantTransposePass, luci::RemoveUnnecessaryAddPass, luci::RemoveUnnecessaryCastPass, luci::RemoveUnnecessaryReshapeNetPass, luci::RemoveUnnecessaryReshapePass, luci::RemoveUnnecessarySlicePass, luci::RemoveUnnecessarySplitPass, luci::RemoveUnnecessaryStridedSlicePass, luci::RemoveUnnecessaryTransposeNetPass, luci::ReplaceMulAddWithDepthwiseConvPass, luci::ReplaceNonConstFCWithBatchMatMulPass, luci::ReplaceSubWithAddPass, luci::ReplaceWithFCGeluFCPass, luci::ResolveCustomOpAddPass, luci::ResolveCustomOpBatchMatMulPass, luci::ResolveCustomOpMatMulPass, luci::ResolveCustomOpMaxPoolWithArgmaxPass, luci::ResolveCustomOpSplitVPass, luci::ResolveFormerCustomOpPass, luci::ShuffleWeightTo16x1Float32Pass, luci::SparsifyTensorPass, luci::SubstituteExpandDimsToReshapePass, luci::SubstitutePackToReshapePass, luci::SubstitutePadV2ToPadPass, luci::SubstituteSplitVToSplitPass, luci::SubstituteSqueezeToReshapePass, luci::SubstituteStridedSliceToReshapePass, luci::SubstituteTransposeToReshapePass, luci::TransformMinMaxToRelu6Pass, luci::TransformMinReluToRelu6Pass, luci::TransformSqrtDivToRsqrtMulPass, luci::UnrollUnidirectionalSequenceLSTMPass, luci::XpSepActFromTransposeConvPass, luci::QuantizeOnnxDequantizeLinearPass, luci::QuantizeOnnxQDQPass, luci::QuantizeWithPredecessorPass, moco::RemoveTFIdentityNode, exo::CanonicalNodeConverter< CanonicalType >, exo::CanonicalNodeConverter< loco::AvgPool2D >, exo::CanonicalNodeConverter< loco::ConstGen >, exo::CanonicalNodeConverter< loco::Conv2D >, exo::CanonicalNodeConverter< loco::DepthwiseConv2D >, exo::CanonicalNodeConverter< loco::EltwiseAdd >, exo::CanonicalNodeConverter< loco::EltwiseDiv >, exo::CanonicalNodeConverter< loco::EltwiseMax >, exo::CanonicalNodeConverter< loco::EltwiseMul >, exo::CanonicalNodeConverter< loco::EltwiseSqrt >, exo::CanonicalNodeConverter< loco::EltwiseSub >, exo::CanonicalNodeConverter< loco::FeatureBiasAdd >, exo::CanonicalNodeConverter< loco::MatMul >, exo::CanonicalNodeConverter< loco::MaxPool2D >, exo::CanonicalNodeConverter< loco::ReLU >, exo::CanonicalNodeConverter< loco::ReLU6 >, exo::CanonicalNodeConverter< loco::TensorConcat >, exo::CanonicalNodeConverter< loco::TensorReduce >, exo::CanonicalNodeConverter< loco::TensorTranspose >, exo::CanonicalNodeConverter< loco::TransposedConv2D >, exo::TensorBroadcastConverter, exo::MergeConcatNodesPass, exo::ShapeInferencePass, exo::TypeInferencePass, fme_apply::FusePostScalePass, fme_apply::FusePreScalePass, luci::CircleShapeInferencePass, luci::CommonSubExpressionEliminationPass, luci::CopyQuantParamPass, luci::DynamicBatchToSingleBatchPass, luci::ForceQuantParamPass, luci::QuantizeDequantizeWeightsPass, luci::QuantizeDequantizeWeightsWithGPTQPass, luci::QuantizeOnnxFakeQuantModelPass, luci::QuantizeWeightsPass, luci::QuantizeWithMinMaxPass, luci::RequantizePass, luci::QuantizePreCheckerPass, moco::tf::SimpleNodeTransform< ConcreteNode >, moco::tf::SimpleNodeTransform< moco::TFAvgPool >, moco::tf::SimpleNodeTransform< moco::TFBiasAdd >, moco::tf::SimpleNodeTransform< moco::TFConcatV2 >, moco::tf::SimpleNodeTransform< moco::TFConst >, moco::tf::SimpleNodeTransform< moco::TFConv2DBackpropInput >, moco::tf::SimpleNodeTransform< moco::TFDepthwiseConv2dNative >, moco::tf::SimpleNodeTransform< moco::TFIdentity >, moco::tf::SimpleNodeTransform< moco::TFMaximum >, moco::tf::SimpleNodeTransform< moco::TFMaxPool >, moco::tf::SimpleNodeTransform< moco::TFMean >, moco::tf::SimpleNodeTransform< moco::TFMul >, moco::tf::SimpleNodeTransform< moco::TFPad >, moco::tf::SimpleNodeTransform< moco::TFPush >, moco::tf::SimpleNodeTransform< moco::TFRealDiv >, moco::tf::SimpleNodeTransform< moco::TFRelu >, moco::tf::SimpleNodeTransform< moco::TFRelu6 >, moco::tf::SimpleNodeTransform< moco::TFReshape >, moco::tf::SimpleNodeTransform< moco::TFRsqrt >, moco::tf::SimpleNodeTransform< moco::TFSoftmax >, moco::tf::SimpleNodeTransform< moco::TFSqrt >, moco::tf::SimpleNodeTransform< moco::TFSqueeze >, moco::tf::SimpleNodeTransform< moco::TFStopGradient >, moco::tf::SimpleNodeTransform< moco::TFSub >, moco::tf::SimpleNodeTransform< moco::TFTanh >, moco::tf::SimpleNodeTransform< TFAdd >, moco::tf::SimpleNodeTransform< TFConv2D >, moco::tf::SimpleNodeTransform<::moco::TFPlaceholder >, logo::ConstantFoldingPass, logo::ResolveDuplicateReshapePass, logo::ResolveRedundantReshapePass, moco::tf::ShapeInferencePass, moco::tf::TypeInferencePass, moco::ConstantFoldAdd, moco::ConstantFoldMul, moco::ConstantFoldPack, moco::ConstantFoldStridedSlice, moco::FuseBinaryIntoPreceding, moco::ResolveConstantShape, moco::ResolveFusedBatchNorm, moco::ResolveReshapeWildcardDim, moco::ResolveSquaredDifference, and moco::SqueezeReduceNode.