TKW (turbine.kernel.wave)¶
- class wave_lang.kernel.wave.wave.LaunchableWave(constraints: list[Constraint] | None, name: str, eager_function: Callable[[Any], Any])¶
- create_induction_vars(trace: CapturedTrace) None¶
Creates induction variables for all the reductions in the graph and associates tiling constraints all the reduction dimensions with the appropriate induction variables.
- property device_constraints: list[DeviceConstraint]¶
- eager_execute(args, kwargs)¶
- get_workgroup_dims() list[int]¶
Returns the workgroup dimensions that are not aliased.
- property hardware_constraints: list[HardwareConstraint]¶
- infer_device_layout(idxc: IndexingContext)¶
- infer_grid_shape(idxc: IndexingContext)¶
- initialize_reductions(trace: CapturedTrace) None¶
For each reduction, initializes the reduction count by looking at the tiling constraints associated with the reduction.
- initialize_symbolic_constraints() None¶
For each symbolic constraint, create new constraints for the related symbolic values with appropriate substitutions.
- initialize_wave_constraints() None¶
For each wave constraint, determines the appropriate wave id by looking for workgroup constraints along the same dimension and using information from the hardware constraints.
- initialize_workgroup_constraints() None¶
For kernels that distribute more than three dimensions among workgroups, we need to update the workgroup constraints for dimensions >= 2 with the appropriate workgroup index.
- property name: str¶
- property reordering_constraints: list[ReorderingConstraint]¶
- run_manual_schedule(trace: CapturedTrace, constraints: list[Constraint], schedule: WaveSchedule, use_scheduling_barriers: bool = False)¶
Runs the manual schedule provided by the user.
- property symbolic_constraints: list[HardwareConstraint]¶
- property tiling_constraints: list[TilingConstraint]¶
- update_aliased_workgroup_constraints(workgroup_dims: dict[int, int]) None¶
This function updates the wg_dim for aliased workgroup constraints.
- property wave_constraints: list[WaveConstraint]¶
- property workgroup_constraints: list[WorkgroupConstraint]¶