1. A method comprising: managing, in a register, threads and thread dependencies for execution of threads by a plurality of execution units, by only keeping track of threads received by the register that have not yet finished executing.