previous up next
Go up to Top
Go forward to 2 Examples
RISC-Linz logo

1 Introduction

This report describes the use of a system for writing distributed Maple applications and sketches its implementation. Maple is a popular computer algebra system for which a large number of application packages have been written [3]. In particular, the Maple library CASA of algorithms for solving problems in algebraic geometry has been developed in our institute [5]. Our goal is to provide an environment that makes it easy to implement parallel algorithms in Maple and that can be easily installed in any environment in order to facilitate the distribution of these implementations. We intend to use this system in order to parallelize a significant number of CASA algorithms.

Among several approaches to parallel programming with Maple, the most recent ones were the following:

Our own goal is to provide an environment where parallel programming is possible within Maple such that the mathematical programmer does not have to leave the familiar environment of the computer algebra system. Furthermore, the underlying technological basis should be "time-safe" and accessible such that the resulting code can be easily exchanged and used for a long time (Strand88 was only available in a few places and its vendor is now out of business).

We have tackled this goal by developing a simple but easily configurable communication and scheduling program that may be used to start and connect external application programs on different machines. This program is written in Java and can be executed on any machine running some implementation of the Java Virtual Machine. We have written a small Maple package that implements an interface to the scheduler and provides a high-level parallel programming model.

Both the Java scheduler (compiled Java classes) and the Maple interface (Maple source code) are freely available under the GNU Library Public License at

http://www.risc.uni-linz.ac.at/software/distmaple

Maintainer: Wolfgang Schreiner
Last Modification: July 6, 2001

previous up next