Mojo struct
TileScheduler
@register_passable(trivial)
struct TileScheduler[num_stages: Int, cluster_shape: IndexList[3] = Index(1, 1, 1)]
Fields
- clc_response (
UnsafePointer[SIMD[ui128, 1], address_space=AddressSpace(3)]
): - full_mbar (
UnsafePointer[SharedMemBarrier, address_space=AddressSpace(3)]
): - empty_mbar (
UnsafePointer[SharedMemBarrier, address_space=AddressSpace(3)]
):
Implemented traits
AnyType
,
Copyable
,
Movable
,
UnknownDestructibility
Aliases
cluster_size
alias cluster_size = (cluster_shape.__getitem__[::Indexer](2) * cluster_shape.__getitem__[::Indexer](0) * cluster_shape.__getitem__[::Indexer](1))
Methods
__init__
__init__(clc_response_ptr: UnsafePointer[SIMD[ui128, 1], address_space=AddressSpace(3)], full_mbar_ptr: UnsafePointer[SharedMemBarrier, address_space=AddressSpace(3)], empty_mbar_ptr: UnsafePointer[SharedMemBarrier, address_space=AddressSpace(3)]) -> Self
work_info_from_clc_response
static work_info_from_clc_response(result: UnsafePointer[SIMD[ui128, 1], address_space=AddressSpace(3)]) -> WorkInfo
initial_work_info
initial_work_info(self) -> WorkInfo
fetch_next_work
fetch_next_work(self, work_info: WorkInfo, consumer_state: PipelineState[num_stages]) -> WorkInfo
advance_to_next_work
advance_to_next_work(self, mut clc_state: PipelineState[num_stages]) -> PipelineState[num_stages]
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!