Abstract

V-cal is a calculus designed to support the compilation of data parallel languages that allows to describe program transformations and optimizations as semantics preserving rewrite rules. In V- cal the program transformation and optimization phase of a compiler is organized in three independent passes: in the first pass a set of rewrite rules are applied that attempt to identify the potential parallelism of an algorithm. In the second pass program parts amenable to parallelization or algorithm substitution are replaced by their semantically equivalent parallel counterparts. Finally, a set of rules are applied that map the parallelized program to the target architecture in a way that makes efficient use of the given resources.Data parallel languages provide a programming model that abstracts from parallelism, communication, and synchronization. To be able to express optimizing transformations in V-cal parallelism, communication, and synchronization are made explicit by the means of dedicated operators that represent these concepts in a machine independent way. In this paper we describe the operators and transformation rules that allow to implement the first two passes of a V- cal engine. We show that our approach leads to a flexible compiler design that allows to experiment with different optimization strategies and heuristics.KeywordsTransformation RuleCommunication StatementIteration LoopDenotational SemanticSynchronize StatementThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.