Skip to main content

struct conditional_eagerly_assignable_state

Declaration

struct conditional_eagerly_assignable_state { /* full declaration omitted */ };

Description

Instruction has been inserted into assignment_queue, but has not yet been assigned. After popping it from the queue, it can potentially be assigned by eagerly enqueueing it to the lane where all its remaining predecessors are already assigned to. If a third instruction is submitted to the target lane in the meantime however, assignment will fail, and we revert back to unassigned_state. Implies num_unassigned_predecessors == 0.

Member Variables

std::optional<device_id> device
lane_id lane = -1
std::optional<instruction_id> expected_last_submission_on_lane