Generating an efficient compiler for a data parallel language from a denotational specification

2Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

There are very few examples of the generation of efficient compilers from denotational specifications. Usually such compilers generate code which is orders of magnitude slower than from hand-written ones. However, as has been demonstrated by our DML (Denotational Meta Language) compiler generation system, through appropriate single-threading analysis it is possible to obtain code of comparable quality to hand-written compilers. Another problem with denotational specifications is, because of their denotational nature, the need to introduce complicated power domains to model non-determinism and parallelism. In this work we have used a more practical two-level approach: use denotational specifications to model the meaning of the source language in terms of an abstract machine of low-level operations, including data-parallel operations. Then use operational semantics for the specification of this abstract machine. This paper reports experience from building a prototype compiler for a small Algol-like parallel language using a version of the DML system called DML-P, which has been extended to support data-parallel operations. The final code contains calls to a portable data-parallel vector code library (VCODE CVL). The speed of generated compilers are within a factor of three from handwritten ones. Extensive benchmarks of a DML-P generated compiler are presented.

Cite

CITATION STYLE

APA

Ringström, J., Fritzson, P., & Pettersson, M. (1994). Generating an efficient compiler for a data parallel language from a denotational specification. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 786 LNCS, pp. 248–262). Springer Verlag. https://doi.org/10.1007/3-540-57877-3_17

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