Patent ID: 9645802
Date: 2017-05-09
CPC Classifications: G06F

Claim:
1. A computer-implemented method for compiling program code for execution on a processing unit, the method comprising: generating a weight value for each program instruction included in a basic block of the program code, wherein the weight value associated with a given program instruction reflects a number of long-latency program instructions upon which the given program instruction depends; grouping the program instructions included in the basic block into a first strand and a second strand based on the weight values generated for the program instructions, wherein the first strand includes a first set of program instructions, each program instruction included in the first set of program instructions has a first weight value, and the second strand includes a second set of program instructions, and each program instruction included in the second set of program instructions has a second weight value; causing a first thread to process the first strand; and causing a second thread to process the second strand.