×

Pipelined parallelization with localized self-helper threading

  • US 8,561,046 B2
  • Filed: 09/14/2009
  • Issued: 10/15/2013
  • Est. Priority Date: 09/14/2009
  • Status: Active Grant
First Claim
Patent Images

1. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable to:

  • identify a parallel region with cross-iteration dependences within program instructions of a computer program;

    parallelize the parallel region into a plurality of threads, wherein each of said threads comprises a same set of algorithmic instructions;

    generate helper thread instructions based at least in part on the algorithmic instructions;

    insert the helper thread instructions in each of the plurality of threads;

    insert synchronization instructions in one or more of the plurality of threads, wherein the synchronization instructions are configured to cause execution of the algorithmic instructions of each of the plurality of threads to occur in program order with respect to each other thread of the plurality of threads;

    determine that a first instruction of the helper thread instructions is dependent upon a second instruction of the helper thread instructions; and

    set a next output of the second instruction to have a same value as that of a previous output of the second instruction in response to predicting that the second instruction will not be executed.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×