Title :
A method for estimating optimal unrolling times for nested loops
Author :
Koseki, A. ; Komastu, H. ; Fukazawa, Y.
Author_Institution :
Sch. of Sci. & Eng., Waseda Univ., Tokyo, Japan
Abstract :
Loop unrolling is one of the most promising parallelization techniques, because the nature of programs causes most of the processing time to be spent in their loops. Unrolling not only the innermost loop but also outer loops greatly expands the scope for reusing data and parallelizing instructions. Nested-loop unrolling is therefore a very effective way of obtaining a higher degree of parallelism. However, we need a method for measuring the efficiency of loop unrolling that takes account of both the reuse of data and the parallelism between instructions. This paper describes a heuristic algorithm for deciding the number of times and the directions in which loops should be unrolled, through the use of information such as dependence, reuse, and machine resources. Our method is evaluated by applying benchmark tests
Keywords :
computational complexity; heuristic programming; parallel algorithms; parallelising compilers; pipeline processing; benchmark tests; heuristic algorithm; loop unrolling; nested loops; parallelism; parallelization; reuse of data; Benchmark testing; Hardware; Heuristic algorithms; Information analysis; Laboratories; Optimization methods; Pipelines; Vector processors;
Conference_Titel :
Parallel Architectures, Algorithms, and Networks, 1997. (I-SPAN '97) Proceedings., Third International Symposium on
Conference_Location :
Taipei
Print_ISBN :
0-8186-8259-6
DOI :
10.1109/ISPAN.1997.645123