Pipelined parallelization of multi-dimensional loops with multiple data dependencies
AssigneeInternational Business Machines Corporation
InventorsRaul Esteban Silvera, Priya Unnikrishnan
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsRaul Esteban Silvera, Priya Unnikrishnan
Estimating the term…
A mechanism for folding all the data dependencies in a loop into a single, conservative dependence. This mechanism leads to one pair of synchronization primitives per loop. This mechanism does not require complicated, multi-stage compile time analysis. This mechanism considers only the data dependence information in the loop. The low synchronization cost balances the loss in parallelism due to the reduced overlap between iterations. Additionally, a novel scheme is presented to implement required synchronization to enforce data dependences in a DOACROSS loop. The synchronization is based on an iteration vector, which identifies a spatial position in the iteration space of the loop. Multiple iterations executing in parallel have their own iteration vector for synchronization where they update their position in the iteration space. As no sequential updates to the synchronization variable exist, this method exploits a greater degree of parallelism.
A computer-implemented method for preparing a loop in a set of loops in computer code for parallel processing, the computer-implemented method comprising:
A computer program product comprising:
A data processing system comprising:
Dependencies are inferred from the claim text.