Deeploy.Targets.PULPOpen.CodeTransformationPasses.PULPClusterTiling.PULPClusterTilingGenerationDB

class Deeploy.Targets.PULPOpen.CodeTransformationPasses.PULPClusterTiling.PULPClusterTilingGenerationDB(externalMemory: str, localMemory: str, dma: AsyncDma)

Bases: DoubleBufferingTilingCodeGeneration, DoubleBufferingTilingMixIn

Methods

__init__(externalMemory: str, localMemory: str, dma: AsyncDma)

__init__(externalMemory, localMemory, dma)

apply(ctxt, executionBlock, name[, verbose])

Apply the CodeTransformation to an ExecutionBlock

dereferenceVars(template, varNames)

extractDynamicReferences(ctxt[, ...])

generateAllTilingCode(executionBlock, ...)

generateInnerCode(executionBlock, metaInfo, ...)

generateLoopCode(executionBlock, metaInfo, ...)

generateSetupAndTeardownCode(executionBlock, ...)

generateTilingLoop(ctxt, executionBlock, ...)

indexVars(template, varNames, index)

isFinalMemoryLevel(tensorMemoryConstraint)

Attributes

parseTreeDict

prefix

apply(ctxt: NetworkContext, executionBlock: ExecutionBlock, name: str, verbose: CodeGenVerbosity = CodeGenVerbosity(tilingProfiling=None, untiledProfiling=None)) Tuple[NetworkContext, ExecutionBlock]

Apply the CodeTransformation to an ExecutionBlock

Parameters:
  • ctxt (NetworkContext) – Current NetworkContext

  • executionBlock (ExecutionBlock) – ExecutionBlock whose code you’d like to transform

  • name (str) – Graph node name of the operator being targetted

  • verbose (CodeGenVerbosity) – Control the verbosity of code generation

Returns:

Updated NetworkContext and ExecutionBlock

Return type:

Tuple[NetworkContext, ExecutionBlock]