Deeploy.Targets.Generic.Platform.GenericEngine

class Deeploy.Targets.Generic.Platform.GenericEngine(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'Conv': <Deeploy.Targets.Generic.Layers.ConvLayer object>, 'DebugPrint': <Deeploy.Targets.Generic.Layers.DebugPrintLayer object>, 'Div': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'Flatten': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Gather': <Deeploy.Targets.Generic.Layers.GatherLayer object>, 'Gelu': <Deeploy.Targets.Generic.Layers.GELULayer object>, 'Gemm': <Deeploy.Targets.Generic.Layers.GEMMLayer object>, 'ITAMax': <Deeploy.Targets.Generic.Layers.ITAMaxLayer object>, 'ITAPartialMax': <Deeploy.Targets.Generic.Layers.ITAMaxLayer object>, 'IntegerDiv': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'LayerNormalization': <Deeploy.Targets.Generic.Layers.LayerNormLayer object>, 'MatMul': <Deeploy.Targets.Generic.Layers.GEMMLayer object>, 'MatMulInteger': <Deeploy.Targets.Generic.Layers.MatMulLayer object>, 'MaxPool': <Deeploy.Targets.Generic.Layers.MaxPoolLayer object>, 'Mul': <Deeploy.Targets.Generic.Layers.MulLayer object>, 'Pad': <Deeploy.Targets.Generic.Layers.PadLayer object>, 'RQIntegerDiv': <Deeploy.Targets.Generic.Layers.RQIntegerDivLayer object>, 'ReduceMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'ReduceSum': <Deeploy.Targets.Generic.Layers.ReduceSumLayer object>, 'Relu': <Deeploy.Targets.Generic.Layers.ReluLayer object>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer object>, 'Softmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>, 'Squeeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Transpose': <Deeploy.Targets.Generic.Layers.TransposeLayer object>, 'Unsqueeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'iGELU': <Deeploy.Targets.Generic.Layers.GELULayer object>, 'iLayerNorm': <Deeploy.Targets.Generic.Layers.LayerNormLayer object>, 'iSoftmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>}, initCode: str = '', includeList=['DeeployBasicMath.h'])

Bases: DeploymentEngine

Methods

__init__(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'Conv': <Deeploy.Targets.Generic.Layers.ConvLayer object>, 'DebugPrint': <Deeploy.Targets.Generic.Layers.DebugPrintLayer object>, 'Div': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'Flatten': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Gather': <Deeploy.Targets.Generic.Layers.GatherLayer object>, 'Gelu': <Deeploy.Targets.Generic.Layers.GELULayer object>, 'Gemm': <Deeploy.Targets.Generic.Layers.GEMMLayer object>, 'ITAMax': <Deeploy.Targets.Generic.Layers.ITAMaxLayer object>, 'ITAPartialMax': <Deeploy.Targets.Generic.Layers.ITAMaxLayer object>, 'IntegerDiv': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'LayerNormalization': <Deeploy.Targets.Generic.Layers.LayerNormLayer object>, 'MatMul': <Deeploy.Targets.Generic.Layers.GEMMLayer object>, 'MatMulInteger': <Deeploy.Targets.Generic.Layers.MatMulLayer object>, 'MaxPool': <Deeploy.Targets.Generic.Layers.MaxPoolLayer object>, 'Mul': <Deeploy.Targets.Generic.Layers.MulLayer object>, 'Pad': <Deeploy.Targets.Generic.Layers.PadLayer object>, 'RQIntegerDiv': <Deeploy.Targets.Generic.Layers.RQIntegerDivLayer object>, 'ReduceMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'ReduceSum': <Deeploy.Targets.Generic.Layers.ReduceSumLayer object>, 'Relu': <Deeploy.Targets.Generic.Layers.ReluLayer object>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer object>, 'Softmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>, 'Squeeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Transpose': <Deeploy.Targets.Generic.Layers.TransposeLayer object>, 'Unsqueeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'iGELU': <Deeploy.Targets.Generic.Layers.GELULayer object>, 'iLayerNorm': <Deeploy.Targets.Generic.Layers.LayerNormLayer object>, 'iSoftmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>}, initCode: str = '', includeList=['DeeployBasicMath.h']) None

Instantiate a new engine

Parameters:
  • name (str) – Name of this compute engine; must be unique per deployemnt

  • Mapping (Dict[str, Union[ONNXLayer, Callable[[gs.Node], Any]]]) – Mapping between operator names and ONNXLayer implementations

  • initCode (str) – Static initialization code for this engine

  • includeList (List[str]) – List of header files to be included with #include directives

__init__(name[, Mapping, initCode, includeList])

Instantiate a new engine

canExecute(node)

Return whether this accelerator can execute an operator

Attributes

name

Name of this compute engine; must be unique per deployemnt

Mapping

Mapping between operator names and ONNXLayer implementations

includeList

List of header files to be included with #include directives

canExecute(node: Node) bool

Return whether this accelerator can execute an operator

Parameters:

node (gs.Node) – Operator to be checked

Returns:

True if operator can be run on this Engine, False otherwise

Return type:

bool

name

Name of this compute engine; must be unique per deployemnt

Type:

str

Mapping

Mapping between operator names and ONNXLayer implementations

includeList

List of header files to be included with #include directives

Type:

List[str]