1. A method, comprising: determining a first execution time of a first thread executing on a first processing unit of a multiprocessor; determining a second execution time of a second thread executing on a second processing unit of the multiprocessor, the first and second threads executing in parallel; and setting power to the first and second processing units to effectuate the first and second threads to finish executing at approximately the same time in future executions of the first and second threads.