Loop coalescing: A compiler transformation for parallel machines
Conference
·
OSTI ID:5642685
In this paper we discuss a compiler transformation called loop coalescing which can be used to reduce run-time overhead and simplify the loop scheduling problem. Parallel loops account for the greatest amount of parallelism in numerical programs. Executing nested loops in parallel with low run-time overhead is thus very important for achieving high performance on parallel computers. Loop coalescing is a restructuring technique that transforms several types of nested parallel loops into a single loop. As a result of this transformation the loop scheduling problem becomes simple. Moreover the amount of synchronization (i.e., run-time overhead) associated with the parallel execution of loops is reduced sharply through loop coalescing. Several examples are presented and the general transformation is discussed in detail. We also give an example of the application of loop coalescing to loop scheduling. 23 refs., 10 figs.
- Research Organization:
- Illinois Univ., Urbana (USA)
- DOE Contract Number:
- FG02-85ER25001
- OSTI ID:
- 5642685
- Report Number(s):
- DOE/ER/25001-64; CONF-870831-7; ON: DE88003571
- Country of Publication:
- United States
- Language:
- English
Similar Records
On program restructuring, scheduling, and communication for parallel processor systems
Processor self-scheduling for multiple-nested parallel loops
Dynamic processor self-scheduling for general parallel nested loops
Thesis/Dissertation
·
Fri Aug 01 00:00:00 EDT 1986
·
OSTI ID:5642627
Processor self-scheduling for multiple-nested parallel loops
Technical Report
·
Tue Dec 31 23:00:00 EST 1985
·
OSTI ID:7258138
Dynamic processor self-scheduling for general parallel nested loops
Conference
·
Thu Sep 10 00:00:00 EDT 1987
·
OSTI ID:5642684