Title :
Ultra-pipelining: an efficient software pipelining algorithm
Author :
Krishnamurthy, S.M.
Author_Institution :
Cray Research Superservers Inc., San Diego, CA, USA
Abstract :
A compiler technique for utilizing instruction-level parallelism is presented. The software pipelining algorithm presented concentrates on innermost loops with array accesses dominating variable references. Dependence graphs labeled with either direction or distance information are provided as input to the pipelining algorithm. In the first step of the algorithm, a loop body of minimal schedule length is generated for a machine with infinite resources. This schedule is mapped onto a processor with finite resources in the next step. This division into two steps makes it possible to make use of existing algorithms for DAG scheduling to handle loop scheduling.<>
Keywords :
parallel programming; pipeline processing; program compilers; scheduling; DAG scheduling; array accesses; compiler technique; distance information; finite resources; infinite resources; innermost loops; instruction-level parallelism; loop body; loop scheduling; minimal schedule length; software pipelining algorithm; ultra-pipelining; variable references; Assembly; Data analysis; Pipeline processing; Processor scheduling; Registers; Resource management; Scheduling algorithm; Software algorithms; Supercomputers; Taxonomy;
Conference_Titel :
Compcon Spring '93, Digest of Papers.
Conference_Location :
San Francisco, CA, USA
Print_ISBN :
0-8186-3400-6
DOI :
10.1109/CMPCON.1993.289738