Deeploy.Targets.CortexM.Platform.CMSISEngine

class Deeploy.Targets.CortexM.Platform.CMSISEngine(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'CLCA': <Deeploy.Targets.Generic.Layers.CLCALayer object>, 'DebugPrint': <Deeploy.Targets.Generic.Layers.DebugPrintLayer object>, 'Flatten': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Gather': <Deeploy.Targets.Generic.Layers.GatherLayer object>, 'IntegerDiv': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'LinearAttention': <Deeploy.Targets.Generic.Layers.LinearAttentionLayer object>, 'MatMul': <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>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizedConv': <Deeploy.Targets.CortexM.Layers.CMSISRQSConvLayer object>, 'RequantizedGemm': <Deeploy.Targets.CortexM.Layers.CMSISRQSGEMMLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer 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=['arm_nnfunctions.h', 'DeeployMath.h'])

Bases: DeploymentEngine

Methods

__init__(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'CLCA': <Deeploy.Targets.Generic.Layers.CLCALayer object>, 'DebugPrint': <Deeploy.Targets.Generic.Layers.DebugPrintLayer object>, 'Flatten': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Gather': <Deeploy.Targets.Generic.Layers.GatherLayer object>, 'IntegerDiv': <Deeploy.Targets.Generic.Layers.DivLayer object>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer object>, 'LinearAttention': <Deeploy.Targets.Generic.Layers.LinearAttentionLayer object>, 'MatMul': <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>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizedConv': <Deeploy.Targets.CortexM.Layers.CMSISRQSConvLayer object>, 'RequantizedGemm': <Deeploy.Targets.CortexM.Layers.CMSISRQSGEMMLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer 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=['arm_nnfunctions.h', 'DeeployMath.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]