1. An apparatus for processing data, the apparatus comprising: a multi-threaded processing core including: a plurality of processing engines configured to execute a thread group; a master register configured to store and update state information for each of a plurality of thread types, wherein the state information in the master register can be updated at any time without affecting currently running threads; and a per-group state register coupled to the master register, wherein, during a creation of a new thread group to be executed by the plurality of processing engines, the state information pertaining to threads of the new thread group is copied to the per-group state register from the master register, wherein during execution of the new thread group by the plurality of processing engines, each of the plurality of processing engines reads the state information from the per-group state register.