helion.Config
- class helion.Config(*, block_sizes=None, loop_orders=None, flatten_loops=None, l2_groupings=None, reduction_loops=None, range_unroll_factors=None, range_warp_specializes=None, range_num_stages=None, range_multi_buffers=None, range_flattens=None, static_ranges=None, num_warps=None, num_stages=None, pid_type=None, indexing=None, **kwargs)[source]
- Parameters:
- __init__(*, block_sizes=None, loop_orders=None, flatten_loops=None, l2_groupings=None, reduction_loops=None, range_unroll_factors=None, range_warp_specializes=None, range_num_stages=None, range_multi_buffers=None, range_flattens=None, static_ranges=None, num_warps=None, num_stages=None, pid_type=None, indexing=None, **kwargs)[source]
Initialize a Config object.
- Parameters:
block_sizes (
list
[int
] |None
) – Controls tile sizes for hl.tile invocations.loop_orders (
list
[list
[int
]] |None
) – Permutes iteration order of tiles.l2_groupings (
list
[int
] |None
) – Reorders program IDs for L2 cache locality.reduction_loops (
list
[int
|None
] |None
) – Configures reduction loop behavior.range_unroll_factors (
list
[int
] |None
) – Loop unroll factors for tl.range calls.range_warp_specializes (
list
[bool
|None
] |None
) – Warp specialization for tl.range calls.range_num_stages (
list
[int
] |None
) – Number of stages for tl.range calls.range_multi_buffers (
list
[bool
|None
] |None
) – Controls disallow_acc_multi_buffer for tl.range calls.range_flattens (
list
[bool
|None
] |None
) – Controls flatten parameter for tl.range calls.static_ranges (
list
[bool
] |None
) – Whether to use tl.static_range instead tl.range.num_stages (
int
|None
) – Number of stages for software pipelining.pid_type (
Optional
[Literal
['flat'
,'xyz'
,'persistent_blocked'
,'persistent_interleaved'
]]) – Program ID type strategy (“flat”, “xyz”, “persistent_blocked”, “persistent_interleaved”).indexing (
Optional
[Literal
['pointer'
,'tensor_descriptor'
,'block_ptr'
]]) – Indexing strategy (“pointer”, “tensor_descriptor”, “block_ptr”).**kwargs (
object
) – Additional user-defined configuration parameters.
Methods
__init__
(*[, block_sizes, loop_orders, ...])Initialize a Config object.
from_json
(json_str)Create a Config object from a JSON string.
get
(k[,d])items
()keys
()load
(path)Load a config from a JSON file.
save
(path)Save the config to a JSON file.
to_json
()Convert the config to a JSON string.
values
()Attributes
- __init__(*, block_sizes=None, loop_orders=None, flatten_loops=None, l2_groupings=None, reduction_loops=None, range_unroll_factors=None, range_warp_specializes=None, range_num_stages=None, range_multi_buffers=None, range_flattens=None, static_ranges=None, num_warps=None, num_stages=None, pid_type=None, indexing=None, **kwargs)[source]
Initialize a Config object.
- Parameters:
block_sizes (
list
[int
] |None
) – Controls tile sizes for hl.tile invocations.loop_orders (
list
[list
[int
]] |None
) – Permutes iteration order of tiles.l2_groupings (
list
[int
] |None
) – Reorders program IDs for L2 cache locality.reduction_loops (
list
[int
|None
] |None
) – Configures reduction loop behavior.range_unroll_factors (
list
[int
] |None
) – Loop unroll factors for tl.range calls.range_warp_specializes (
list
[bool
|None
] |None
) – Warp specialization for tl.range calls.range_num_stages (
list
[int
] |None
) – Number of stages for tl.range calls.range_multi_buffers (
list
[bool
|None
] |None
) – Controls disallow_acc_multi_buffer for tl.range calls.range_flattens (
list
[bool
|None
] |None
) – Controls flatten parameter for tl.range calls.static_ranges (
list
[bool
] |None
) – Whether to use tl.static_range instead tl.range.num_stages (
int
|None
) – Number of stages for software pipelining.pid_type (
Optional
[Literal
['flat'
,'xyz'
,'persistent_blocked'
,'persistent_interleaved'
]]) – Program ID type strategy (“flat”, “xyz”, “persistent_blocked”, “persistent_interleaved”).indexing (
Optional
[Literal
['pointer'
,'tensor_descriptor'
,'block_ptr'
]]) – Indexing strategy (“pointer”, “tensor_descriptor”, “block_ptr”).**kwargs (
object
) – Additional user-defined configuration parameters.