Abstract
Program transformations are a powerful concept for studying and exploiting parallelism. It is useful for a broad range of computers ranging from multiprocessors to algorithmically specialized architectures. In general, programs may be said to consist of computations and control. The control part determines the order of computations. Program transformations are operations that change the structure of computations and the execution order while maintaining the equivalence of the program. There are many types of transformations, depending on the equivalence criterion used. The simplest, but weakest, criterion is input–output equivalence, in which a set of input variables is mapped into the same set of output variables for all input–output equivalent programs. Stronger equivalence criteria are often necessary to retain some built-in features of the original programs. The need for program transformations arises in many areas of computer science: compiler design, program correctness proofs, automatic programming, and others. This chapter discusses program transformations that speed up processing time.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.