Abstract:
Abstract: We describe the design and implementation of pD, a parallel variant of a small functional language that serves as a programming interface for the parallel computer algebra package PACLIB. pD provides several facilities to express parallel algorithms in a flexible way on different levels of abstraction. The compiler translates a pD module into statically typed parallel C code with explicit task creation and synchronization constructs. This target code can be linked with the PACLIB kernel, the multi-processor runtime system of the computer algebra library SACLIB. The parallelization of several computer algebra algorithms on a shared memory multi-processor demonstrates the elegance and efficiency of this approach. Keywords: Para-Functional Programming, Computer Algebra, Compilation. 1
Citations
|
1463
|
A Proposal for Standard ML
– Milner
- 1984
|
|
357
|
Multilisp: A language for concurrent symbolic computation
– Halstead
- 1985
|
|
138
|
Parallel programming using skeleton functions
– Darlington, Field, et al.
- 1993
|
|
132
|
Implementation of a portable nested data-parallel language
– Blelloch, Chatterjee, et al.
- 1994
|
|
91
|
A report on the SISAL language project
– Feo, Cann, et al.
- 1990
|
|
29
|
Para-functional Programming in Haskell
– Hudak
- 1991
|
|
20
|
Parallelizing Algorithms for Symbolic Computation Using kMAPLEk
– Siegl
- 1993
|
|
18
|
Progress report on a system for general-purpose parallel symbolic algebraic computation
– Char
- 1990
|
|
16
|
PARSAC-2: A parallel SAC-2 based on threads
– Küchlin
- 1990
|
|
15
|
Parallel functional programming: an annotated bibliography
– Schreiner
- 1993
|
|
14
|
Parallel computation of modular multivariate polynomial resultants on a shared memory machine
– Hong, Loidl
- 1994
|
|
13
|
A New Library for Parallel Algebraic Computation
– Schreiner, Hong
- 1993
|
|
11
|
Experiments with Virtual C Threads
– Kuchlin, Ward
- 1992
|
|
8
|
A SACLIB Primer
– Buchberger, Collins, et al.
- 1992
|
|
6
|
Virtual Tasks for the PACLIB Kernel
– Schreiner
- 1994
|
|
6
|
Solving a System of Linear Equations with Modular Arithmetic on a MIMD Computer
– Stahl
- 1992
|
|
6
|
The Design of the SACLIB/PACLIB Kernels
– Hong, Neubacher, et al.
- 1993
|
|
5
|
Id (Version 90.1) Reference Manual. CSG Memo 284-2
– Nikhil
- 1991
|
|
5
|
Parallel Functional Programming for Computer Algebra
– Schreiner
- 1994
|
|
4
|
PAC: Towards a Parallel Computer Algebra Co-Processor
– Roch
- 1989
|
|
4
|
An Environment for Parallel Algebraic Computation
– Roch
- 1990
|
|
2
|
Compiling a Functional Language to Efficient SACLIB C
– Schreiner
- 1993
|
|
2
|
Computation of the Q-Matrix
– Minimair
- 1992
|
|
1
|
Compiling a Para-Functional Language to Parallel PACLIB C
– Schreiner
- 1994
|
|
1
|
The Design of the Sturm Parallel Kernel
– Bertoli, Hong, et al.
- 1996
|
|
1
|
The STURM Library Manual
– Hong, Neubacher, et al.
- 1994
|