Deeploy.Targets.PULPOpen.Platform.PULPClusterEngine

class Deeploy.Targets.PULPOpen.Platform.PULPClusterEngine(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'Concat': <Deeploy.Targets.Generic.Layers.ConcatLayer 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>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer 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>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizedAdd': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'RequantizedConv': <Deeploy.Targets.PULPOpen.Layers.PULPRQSConvLayer object>, 'RequantizedGemm': <Deeploy.Targets.PULPOpen.Layers.PULPRQSGEMMLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'RequantizediHardswish': <Deeploy.Targets.Generic.Layers.RQSiHardswishLayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer object>, 'Softmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>, 'Transpose': <Deeploy.Targets.Generic.Layers.TransposeLayer object>, 'Unsqueeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'iHardswish': <Deeploy.Targets.Generic.Layers.iHardswishLayer object>, 'iRMSNorm': <Deeploy.Targets.Generic.Layers.iRMSNormLayer object>, 'iSoftmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>}, initCode='', includeList=['pmsis.h', 'stdint.h', 'pulp_nn_kernels.h', 'DeeployBasicMath.h', 'dory_dma.h', 'dory_mem.h', 'bsp/ram.h'])

Bases: DeploymentEngine

Methods

__init__(name: str, Mapping={'Add': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'Concat': <Deeploy.Targets.Generic.Layers.ConcatLayer 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>, 'IntegerMean': <Deeploy.Targets.Generic.Layers.ReduceMeanLayer 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>, 'RequantShift': <Deeploy.Targets.Generic.Layers.RequantShiftLayer object>, 'RequantizedAdd': <Deeploy.Targets.Generic.Layers.AddLayer object>, 'RequantizedConv': <Deeploy.Targets.PULPOpen.Layers.PULPRQSConvLayer object>, 'RequantizedGemm': <Deeploy.Targets.PULPOpen.Layers.PULPRQSGEMMLayer object>, 'RequantizediGELU': <Deeploy.Targets.Generic.Layers.RQSiGELULayer object>, 'RequantizediHardswish': <Deeploy.Targets.Generic.Layers.RQSiHardswishLayer object>, 'Reshape': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'Slice': <Deeploy.Targets.Generic.Layers.SliceLayer object>, 'Softmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>, 'Transpose': <Deeploy.Targets.Generic.Layers.TransposeLayer object>, 'Unsqueeze': <Deeploy.Targets.Generic.Layers.ReshapeLayer object>, 'iHardswish': <Deeploy.Targets.Generic.Layers.iHardswishLayer object>, 'iRMSNorm': <Deeploy.Targets.Generic.Layers.iRMSNormLayer object>, 'iSoftmax': <Deeploy.Targets.Generic.Layers.SoftmaxLayer object>}, initCode='', includeList=['pmsis.h', 'stdint.h', 'pulp_nn_kernels.h', 'DeeployBasicMath.h', 'dory_dma.h', 'dory_mem.h', 'bsp/ram.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]