Mojo module
unswitch
Implementations of unswitch and tile_and_unswitch functions.
comptime values
Dynamic1DTileUnswitchUnitFunc
comptime Dynamic1DTileUnswitchUnitFunc = fn[sw: Bool](Int, Int, Int) capturing -> None
Signature of a dynamic tiled unswitch unit function.
Static1DTileUnitFuncWithFlag
comptime Static1DTileUnitFuncWithFlag = fn[width: Int, flag: Bool](Int) capturing -> None
Signature of a tiled function with a static tile size, offset, and flag.
Static1DTileUnitFuncWithFlags
comptime Static1DTileUnitFuncWithFlags = fn[width: Int, left_flag: Bool, right_flag: Bool](Int) capturing -> None
Signature of a tiled function with left and right boundary flags.
Static1DTileUnswitchUnitFunc
comptime Static1DTileUnswitchUnitFunc = fn[width: Int, sw: Bool](Int, Int) capturing -> None
Signature of a tiled function with static tile size and unswitch flag.
The function takes a static tile size parameter and offset arguments,
i.e. func[tile_size: Int](offset: Int).
SwitchedFunction
comptime SwitchedFunction = fn[sw: Bool]() raises capturing -> None
Signature of a function that unswitch can take.
SwitchedFunction2
comptime SwitchedFunction2 = fn[sw0: Bool, sw1: Bool]() capturing -> None
Signature for unswitch supporting 2 predicates.
Functions
-
tile_and_unswitch: Performs time and unswitch functional transformation. -
tile_middle_unswitch_boundaries: Divides 1d iteration space into three parts and tiles them with different steps. -
unswitch: Performs a functional unswitch transformation.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!