Method for software pipelining nested loops
AssigneeIntel Corporation
InventorsGautam Doshi, Robert Norin
Life of this patent
Estimating the term…
Abstract
A method for software pipelining nested loops combines the inner and outer loops of the nested loop to form a merged loop. One or more operations from the outer loop are activated on selected passes through the merged loop, and the merged loop is software pipelined.
Claims25
A method for processing nested inner and outer loops comprising:
- forming a merged loop from the inner and outer loops;
- and
- conditioning one or more operations from the merged loop to be activated on selected iterations of the merged loop.
A method for software pipelining instructions from inner and outer loops of a nested loop comprising:
- combining operations of the inner and outer loops to form a merged loop;
- and
- predicating one or more operations of the combined loop to activate the predicated instructions on selected iterations of the merged loop.
A method for preparing nested inner and outer loops for processing, the method comprising:
- combining operations from the inner and outer loops;
- defining a merged loop variable from loop variables associated with the inner and outer loops;
- defining a merged loop test from loop tests associated with the inner and outer loops;
- and
- gating one or more operations from the outer loop on a condition derived from the inner loop.
A method for processing a nested loop of inner and outer loop instructions as a merged loop, the method comprising:
- executing inner loop instructions for a given iteration of the merged loop;
- evaluating one or more conditions according to a loop test and loop variable associated with the inner loop instructions;
- and
- gating one or more outer loop instructions according to the one or more conditions.
A machine readable storage medium on which are stored instructions that may be executed by a processor to implement a method for processing nested inner and outer loops, the method comprising:
- forming a merged loop from the inner and outer loops;
- and
- conditioning one or more operations from the outer loop to be activated on selected iterations of the merged loop.
A machine readable medium on which are stored instructions that may be executed by a processor to implement a method comprising:
- executing an iteration of a merged loop, the merged loop including inner and outer loop operations;
- testing a merged loop variable that is derived from an inner loop variable and an outer loop variable;
- and
- repeating executing and testing responsive to the merged loop variable having a first value.
Dependencies are inferred from the claim text.