Skip to main content

Mojo struct

WaitAndAdvanceContext

@register_passable(trivial) struct WaitAndAdvanceContext[work_origin: MutOrigin]

Context for waiting on CLC barrier and advancing work iterator.

Encapsulates the CLC response barrier synchronization:

  • Construction: Waits for CLC response, fetches next work
  • enter: Returns current work_info for processing
  • exit: Assigns fetched work as current

Usage: with work_iter.wait_and_advance() as current: # current is the work item to process NOW process(current) # After exit, work_iter.work_info is the NEXT work item

Fields

  • work_info_ptr (Pointer[WorkInfo, work_origin]):
  • next_work (WorkInfo):

Implemented traits

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable

comptime members

__copyinit__is_trivial

comptime __copyinit__is_trivial = True

__del__is_trivial

comptime __del__is_trivial = True

__moveinit__is_trivial

comptime __moveinit__is_trivial = True

Methods

__init__

__init__(work_info_ptr: Pointer[WorkInfo, work_origin], next_work: WorkInfo) -> Self

__enter__

__enter__(self) -> WorkInfo

Returns:

WorkInfo

__exit__

__exit__(mut self)

Was this page helpful?