A domain-specific interpreter for parallelizing a large mixed-language visualisation application

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

Abstract

We describe a technique for performing domain-specific optimisation based on the formation of an execution plan from calls made to a domain-specific library. The idea is to interpose a proxy layer between the application and the library that delays execution of the library code and, in so doing, captures a recipe for the computation required. This creates the opportunity for a "domain-specific interpreter" to analyse the recipe and generate an optimised execution plan. We demonstrate the idea by showing how it can be used to implement coarse grained tiling and parallelisation optimisations in MayaVi, a 44,000-line visualisation application written in Python and VTK, with no change to the MayaVi code base. We present a generic mechanism for interposing a domain-specific interpreter in Python applications, together with experimental results demonstrating the technique's effectiveness in the context of MayaVi. For certain visualisation problems, in particular the rendering of isosurfaces in an unstructured mesh fluid flow simulation, we demonstrate significant speedups from coarse grained tiling, and from both SMP and distributed-memory parallelisation. © 2006 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Osmond, K., Beckmann, O., Field, A. J., & Kelly, P. H. J. (2006). A domain-specific interpreter for parallelizing a large mixed-language visualisation application. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4339 LNCS, pp. 347–361). https://doi.org/10.1007/978-3-540-69330-7_24

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