ACM Home Page
Please provide us with feedback. Feedback
Generating sequential code from parallel code
Full text PdfPdf (1.12 MB)
Source International Conference on Supercomputing archive
Proceedings of the 2nd international conference on Supercomputing table of contents
St. Malo, France
Pages: 582 - 592  
Year of Publication: 1988
ISBN:0-89791-272-1
Authors
J. Ferrante  IBM T. J. Watson Research Center, Yorktown Heights, NY
M. Mace  IBM Research Triangle Park, NC
B. Simons  IBM Almaden Research Center, San Jose, CA
Sponsor
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 27,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/55364.55421
What is a DOI?

ABSTRACT

We consider the problem of generating sequential code for parallel programs written in a language which contains a FORALL operator, predicates and statements. This problem can arise when compiling for a multiprocessor where each processor is sequential, and in the vectorization of sequential programs. We present a necessary and sufficient condition for determining if extra guard variables or duplicate code must be inserted when generating a correct sequential program from a given, well-structured parallel program. We also have an efficient method for checking whether this condition occurs in the parallel program. This method gives rise to an algorithm for generating sequential code from parallel code which inserts guard variables (or duplicate code) only when determined by our necessary and sufficient condition. Given the choice to insert duplicate code, an exponential blow-up in size may result. We suggest some simple heuristics to limit such blow-up. We also show that in a restricted case, the minimal size sequential code can be efficiently generated. However, we show that a problem closely related to finding the minimal size sequential code (or equivalently, the minimum number of guards to be inserted) in NP-Complete. We conjecture that this problem in the general case is indeed NP-Complete.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
Mario R. Barbacci. A Comparison of Register Transfer Languages for Describing Computers and Digital Systems. 1EEE Transactions on Computers, C-24:137-150, February 1975.
5
6
7
8
9
10
 
11
Karl j. Ottenstein. Private Communication, 1987. Sequential Code Generation for the PDG.


Collaborative Colleagues:
J. Ferrante: colleagues
M. Mace: colleagues
B. Simons: colleagues