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.
CITATION STYLE
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
Mendeley helps you to discover research relevant for your work.