You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VariableBuffer already exposes a modern, multi-valued alias set
(self.aliases: Set[str], Deeploy/DeeployTypes.py), but the tiling
machinery (TilerExtension, MemoryScheduler) still reads the legacy
single-valued _alias attribute. As a result, templates that need
alias-based pointer passthrough during tiling have to set the legacy _alias as a workaround, in addition to populating aliases.
Summary
VariableBufferalready exposes a modern, multi-valued alias set(
self.aliases: Set[str],Deeploy/DeeployTypes.py), but the tilingmachinery (
TilerExtension,MemoryScheduler) still reads the legacysingle-valued
_aliasattribute. As a result, templates that needalias-based pointer passthrough during tiling have to set the legacy
_aliasas a workaround, in addition to populatingaliases.Where the legacy attribute is read
Deeploy/TilingExtension/TilerExtension.py(~L299, L336, L339)Deeploy/TilingExtension/MemoryScheduler.py(~L304, L372, L658-660)The workaround it forces
Deeploy/Targets/Generic/Templates/ReshapeTemplate.py— setsbufferOut._alias = bufferIn.nameon top ofbufferOut.aliases.add(...).Deeploy/Targets/PULPOpen/Templates/ReshapeTemplate.py— same hack in asubclass.
Proposed fix
Make
TilerExtensionandMemorySchedulerconsumebuffer.aliases(the set)instead of
buffer._alias. This:_aliascannot);_aliasworkaround from the Reshape templates.Scope / notes
DeeployTypes.py,TilerExtension.py,MemoryScheduler.py) and therefore affects all platforms, so it belongs inits own PR.
kept intentionally following the ReshapeTemplate subclass pattern.