iree/hal/local/task_queue.c
// Retires a submission by signaling semaphores to their desired value and
// disposing of the temporary arena memory used for the submission.
Retires a submission by signaling semaphores to their desired value and
disposing of the temporary arena memory used for the submission.
Retires a submission by signaling semaphores to their desired value and disposing of the temporary arena memory used for the submission .
static iree_status_t iree_hal_task_queue_retire_cmd(
    uintptr_t user_context, iree_task_t* task,
    iree_task_submission_t* pending_submission) {
  iree_hal_task_queue_retire_cmd_t* cmd =
      (iree_hal_task_queue_retire_cmd_t*)task;
  IREE_TRACE_ZONE_BEGIN(z0);
  iree_status_t status = iree_ok_status();
  for (iree_host_size_t i = 0; i < cmd->signal_semaphores.count; ++i) {
    status =
        iree_hal_semaphore_signal(cmd->signal_semaphores.semaphores[i],
                                  cmd->signal_semaphores.payload_values[i]);
    if (IREE_UNLIKELY(!iree_status_is_ok(status))) break;
  }
  IREE_TRACE_ZONE_END(z0);
  return status;
}
static iree_status_t iree_hal_task_queue_retire_cmd ( uintptr_t user_context , iree_task_t * task , iree_task_submission_t * pending_submission ) { iree_hal_task_queue_retire_cmd_t * cmd = ( iree_hal_task_queue_retire_cmd_t * ) task ; IREE_TRACE_ZONE_BEGIN ( z0 ) ; iree_status_t status = iree_ok_status ( ) ; for ( iree_host_size_t i = 0 ; i < cmd -> signal_semaphores . count ; ++ i ) { status = iree_hal_semaphore_signal ( cmd -> signal_semaphores . semaphores [ i ] , cmd -> signal_semaphores . payload_values [ i ] ) ; if ( IREE_UNLIKELY ( ! iree_status_is_ok ( status ) ) ) break ; } IREE_TRACE_ZONE_END ( z0 ) ; return status ; }
Retires a submission by signaling semaphores to their desired value and
disposing of the temporary arena memory used for the submission.
Retires a submission by signaling semaphores to their desired value and disposing of the temporary arena memory used for the submission .
// Signal all semaphores to their new values. // Note that if any signal fails then the whole command will fail and all // semaphores will be signaled to the failure state.