The checkpoint registers 760a-760d may be local checkpoint registers, meaning that any of the execution engines may wait on conditions associated with checkpoint values remotely set in their associated checkpoint registers by another execution engine, but an execution engine that remotely sets a checkpoint value may not wait on that remotely set checkpoint value. For example, any execution engine may, for a local checkpoint register associated with another execution engine, remotely write a particular value, increment by an arbitrary number a value previously written in the register, or decrement by an arbitrary number a value previously written in of the local checkpoint register. Any execution engine may wait on conditions related to a checkpoint value set in its associated local checkpoint register, for example, but not limited to, a checkpoint value equal to a value set in the checkpoint register, a value checkpoint than a value set in the checkpoint register, a checkpoint value greater than or equal to a value set in the checkpoint register, a checkpoint value less than a value set in the checkpoint register, or a checkpoint value less than or equal to a value set in the checkpoint register, or other logical conditions. An execution engine may not wait on a value remotely set in the local checkpoint register associated with another execution engine.
While