IRON  1.0
Public Member Functions | Private Attributes | List of all members
iron.dataflow.objectfifo.ObjectFifoLink Class Reference
Inheritance diagram for iron.dataflow.objectfifo.ObjectFifoLink:
Inheritance graph
[legend]
Collaboration diagram for iron.dataflow.objectfifo.ObjectFifoLink:
Collaboration graph
[legend]

Public Member Functions

def __init__ (self, list[ObjectFifoHandle]|ObjectFifoHandle srcs, list[ObjectFifoHandle]|ObjectFifoHandle dsts, PlacementTile placement=AnyMemTile, list[int] src_offsets=[], list[int] dst_offsets=[])
 
None resolve (self, ir.Location|None loc=None, ir.InsertionPoint|None ip=None)
 
- Public Member Functions inherited from iron.placeable.Placeable
def __init__ (self, PlacementTile|None tile)
 
None place (self, Tile tile)
 
PlacementTile|None tile (self)
 

Private Attributes

 _srcs
 
 _dsts
 
 _src_offsets
 
 _dst_offsets
 
 _resolving
 
 _op
 

Detailed Description

This is an object used internally by split(), join() and forward() operations.

Constructor & Destructor Documentation

◆ __init__()

def iron.dataflow.objectfifo.ObjectFifoLink.__init__ (   self,
list[ObjectFifoHandle] | ObjectFifoHandle  srcs,
list[ObjectFifoHandle] | ObjectFifoHandle  dsts,
PlacementTile   placement = AnyMemTile,
list[int]   src_offsets = [],
list[int]   dst_offsets = [] 
)
Construct an ObjectFifoLink. This is either a many-to-one, one-to-many, or one-to-one operation.

Args:
    srcs (list[ObjectFifoHandle] | ObjectFifoHandle): A list of consumer ObjectFifoHandles to link.
    dsts (list[ObjectFifoHandle] | ObjectFifoHandle): A list of producer ObjectFifoHandles to link.
    placement (PlacementTile, optional): The place the link occurs. Defaults to AnyMemTile.
    src_offsets (list[int], optional): If many sources, one offset per source is required to split the destination. Defaults to [].
    dst_offsets (list[int], optional): If many destinations, one offset per destination is required to split the source. Defaults to [].

Raises:
    ValueError: Arguments are validated.

Member Function Documentation

◆ resolve()

None iron.dataflow.objectfifo.ObjectFifoLink.resolve (   cls,
ir.Location | None   loc = None,
ir.InsertionPoint | None   ip = None 
)
Resolve the current object into one or more MLIR operations.
Should only be called within an MLIR context.

Args:
    loc (ir.Location | None, optional): Location is used by MLIR object during construction in some cases. Defaults to None.
    ip (ir.InsertionPoint | None, optional): InsertionPoint is used by MLIR object during construction in some cases. Defaults to None.

Reimplemented from iron.resolvable.Resolvable.

Member Data Documentation

◆ _dst_offsets

iron.dataflow.objectfifo.ObjectFifoLink._dst_offsets
private

◆ _dsts

iron.dataflow.objectfifo.ObjectFifoLink._dsts
private

◆ _op

iron.dataflow.objectfifo.ObjectFifoLink._op
private

◆ _resolving

iron.dataflow.objectfifo.ObjectFifoLink._resolving
private

◆ _src_offsets

iron.dataflow.objectfifo.ObjectFifoLink._src_offsets
private

◆ _srcs

iron.dataflow.objectfifo.ObjectFifoLink._srcs
private

The documentation for this class was generated from the following file: