An object-oriented framework for loop parallelization

Citation
Y. Omori et A. Fukuda, An object-oriented framework for loop parallelization, J SUPERCOMP, 13(1), 1999, pp. 57-69
Citations number
14
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF SUPERCOMPUTING
ISSN journal
09208542 → ACNP
Volume
13
Issue
1
Year of publication
1999
Pages
57 - 69
Database
ISI
SICI code
0920-8542(199901/02)13:1<57:AOFFLP>2.0.ZU;2-K
Abstract
Generation of efficient parallel code is a major goal of a well-designed an d developed parallelizing compiler. Another important goal is portability o f both compiler system and the resulting output source codes. The various c hoices of current and future parallel computer architectures as well as the cost of developing a parallelizing compiler make portability a very import ant design goal. Since the design of parallelizing compilers is considerabl y move complex than designing conventional compilers, it is very important to achieve both efficiency and portability. To meet this dual goal, we have investigated the application of object oriented design to parallelizing co mpilers. Our parallelizing compiler design is based on abstractions of inte rmediate representations of loops and their class definitions. In this pape r, we address the problem of loop parallelization and propose a framework w here the loop parallelization process is divided into three phases and the optimization of loops is performed via a cyclic application of these three phases. The class of each phase is hierarchically derived from intermediate representations of loops. This facilitates the portability of the resultin g parallelizing compilers. Furthermore, one of the phases uses a reservatio n table of hardware resources in order to obtain optimized parallel program s for given hardware resources. The validation of the proposed framework is given through the application of the object oriented design on an example program which is then parallelized efficiently.