V-cal: A calculus for the compilation of data parallel languages

0Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Dechering, P. F. G., De Vreught, J. P. M., Trescher, J. A., & Sips, H. J. (1996). V-cal: A calculus for the compilation of data parallel languages. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1033, pp. 111–125). Springer Verlag. https://doi.org/10.1007/bfb0014195

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free