1. A computer-implemented method for managing one or more threads of a thread group executing a set of instructions that includes a target instruction and a unanimous branch instruction that specifies a condition, the method comprising: receiving the unanimous branch instruction, wherein each active thread in the thread group is associated with a condition value indicating whether the condition specified by the unanimous branch instruction is true or false for the active thread; combining the condition values associated with each active thread in the thread group into one true or false decision that indicates whether all active threads in the thread group unanimously agree that the associated condition values are true; and updating an active program counter for all active threads in the thread group to indicate the target instruction in the set of instructions if the decision is true, or updating the active program counter for all active threads to indicate a next instruction immediately following the unanimous branch instruction if the decision is false.