Method and compiler for parallel execution of a program
AssigneeInternational Business Machines Corporation
InventorsHideaki Komatsu, Kazuaki Ishizaki, Osamu Gohda
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsHideaki Komatsu, Kazuaki Ishizaki, Osamu Gohda
Estimating the term…
To increase the speed of program execution by decomposing a loop onto a plurality of processors and executing them in parallel. First, a loop in a source program is located which is to be executed in parallel. This loop is then analyzed for data dependence. The result of the analysis is used for calculating data dependence vectors. Then all areas of the index executed in the loop are decomposed and assigned to a number of processors. Further, it is determined whether data needs to be transferred between processors. Based on the array index space, communication vectors are calculated. Data dependence vectors and communication vectors are ANDed to calculate communication dependence vectors. Then, the manner of communication of operands and loop execution are determined based on the values of communication dependence vectors.
In a computer having a plurality of processors, a method for increasing the speed of program execution by decomposing loops in a source program onto the processors and having said processors execute them in parallel, said method comprising the steps of:
In a computer having a plurality of processors, a compiler including a processing unit for increasing the speed of program execution by decomposing loops in a source program onto the processors and having said processors execute them in parallel, said compiler comprising:
Dependencies are inferred from the claim text.