1. A method for managing divergent threads in a SIMD (single-instruction multiple-data) architecture, the method comprising: receiving a first conditional control instruction in a program that is a break or a return instruction that specifies a condition test and a comparison value; determining that a thread diverges from other threads in a SIMD thread group in response to the condition test specified by the first conditional control instruction; determining a disable mask that indicates the thread should not be processed until a specific event occurs; determining an active mask that indicates the thread should not be processed in parallel with the other threads in the SIMD thread group; and executing one or more instructions to process the other threads in the SIMD thread group as indicated by the active mask, in the SIMD architecture.