PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
GUM: a portable parallel implementation of Haskell
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Maple: a comprehensive introduction
Maple: a comprehensive introduction
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structured development of parallel programs
Structured development of parallel programs
Functional Skeletons for Parallel Coordination
Euro-Par '95 Proceedings of the First International Euro-Par Conference on Parallel Processing
Distributed maple: parallel computer algebra in networked environments
Journal of Symbolic Computation
Parallelism abstractions in eden
Patterns and skeletons for parallel and distributed computing
Comparing Parallel Functional Languages: Programming and Performance
Higher-Order and Symbolic Computation
Algorithm + strategy = parallelism
Journal of Functional Programming
Parallel functional programming in Eden
Journal of Functional Programming
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part II
Proceedings of the 4th workshop on Declarative aspects of multicore programming
Improving your cash flow: the computer algebra shell
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Orchestrating computational algebra components into a high-performance parallel system
International Journal of High Performance Computing and Networking
Hi-index | 0.00 |
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.