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

Public Member Functions

None __init__ (self, str name, str bin_name, list[type[np.ndarray]|np.dtype] arg_types=[])
 
str bin_name (self)
 
None resolve (self, ir.Location|None loc=None, ir.InsertionPoint|None ip=None)
 
def __call__ (self, *args, **kwargs)
 

Private Attributes

 _name
 
 _bin_name
 
 _arg_types
 
 _op
 

Constructor & Destructor Documentation

◆ __init__()

None iron.kernel.Kernel.__init__ (   self,
str  name,
str  bin_name,
list[type[np.ndarray] | np.dtype]   arg_types = [] 
)
A Kernel is an externally defined function that eventually resolves to a FuncOp. If it is called,
a CallOp will be generated.

Args:
    name (str): The name of the function
    bin_name (str): The name of the binary (used for linking to a compute core)
    arg_types (list[type[np.ndarray]  |  np.dtype], optional): The type signature of the function. Defaults to [].

Member Function Documentation

◆ __call__()

def iron.kernel.Kernel.__call__ (   self,
args,
**  kwargs 
)

◆ bin_name()

str iron.kernel.Kernel.bin_name (   self)

◆ resolve()

None iron.kernel.Kernel.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

◆ _arg_types

iron.kernel.Kernel._arg_types
private

◆ _bin_name

iron.kernel.Kernel._bin_name
private

◆ _name

iron.kernel.Kernel._name
private

◆ _op

iron.kernel.Kernel._op
private

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