×

Building an interface between Eden and Maple: A way of parallelizing computer algebra algorithms. (English) Zbl 1108.68350

Trinder, Phil (ed.) et al., Implementation of functional languages. 15th international workshop, IFL 2003, Edinburgh, UK, September 8–11, 2003. Revised papers. Berlin: Springer (ISBN 3-540-23727-5/pbk). Lecture Notes in Computer Science 3145, 135-151 (2004).
Summary: Eden is a parallel functional language extending Haskell with processes. This paper describes the implementation of an interface between the Eden language and the Maple system. The aim of this effort is to parallelize Maple programs by using Eden as coordination language. The idea is to leave in Maple the computational intensive functions of the (sequential) algorithm and to use Eden skeletons to set up the parallel process topology in the available parallel machine. A Maple system is instantiated in each processor. Eden processes are responsible for invoking Maple functions with appropriate parameters and of getting back the results, as well as of performing all the data communication between processes.
The interface provides the following services: instantiating and terminating a Maple system in each processor, performing data conversion between Maple and Haskell objects, invoking Maple functions from Eden, and ensuring mutual exclusion in the access to Maple from different concurrent threads in the local processor.
A parallel version of Buchberger’s algorithm to compute Gröbner bases is presented to illustrate the use of the interface.
For the entire collection see [Zbl 1056.68017].

MSC:

68N15 Theory of programming languages
68N18 Functional programming and lambda calculus
68W30 Symbolic computation and algebraic computation

Software:

Eden; GUM; Maple; PVM; GHC; Haskell
PDFBibTeX XMLCite
Full Text: DOI