Title :
Detecting Method of Parallelism from Nested Loops with Loop Carried Data Dependences
Author_Institution :
Comput. Sci. Dept., Takushoku Univ., Tokyo, Japan
Abstract :
Our loop parallelizing method of compiler for SIMD architecture enables SIMD instructions to be generated from loops which include complicated data dependency. The characteristic of our method is in choosing the more optimizing method for parallelization from two shearing conversions by inner and outer loop carried data dependences. One of them is novel and involves shearing horizontally along the inner loop index and the other is well-established shearing vertically along the outer loop index. These loop transformations are formalized by matrix operations. They enable the original loop indexes to be expressed using new loop indexes so that compiler does not need to make any change in loop body. At this point, simple templates suffice to generate optimal code. To conclude we summarize the conditions for choosing suitable shearing method and the requirements for conversion.
Keywords :
parallel processing; parallelising compilers; program control structures; software architecture; SIMD architecture; SIMD instructions generation; compiler; loop carried data dependences; loop indexes; loop parallelizing method; nested loops; shearing method; Arrays; Delay; Indexes; Nickel; Parallel processing; Shearing; Upper bound; Compilers; Loop carried data dependency; Nested loop; Parallelization;
Conference_Titel :
Computing in the Global Information Technology (ICCGI), 2010 Fifth International Multi-Conference on
Conference_Location :
Valencia
Print_ISBN :
978-1-4244-8068-5
Electronic_ISBN :
978-0-7695-4181-5
DOI :
10.1109/ICCGI.2010.11