The PSciCo Project
The goal of the PSciCo (Parallel Scientific Computing) project is
to study how features of advanced programming languages can be
used in the design of algorithms for Scientific and Geometric
Project members may refer to the internal page for information about using
and maintaining the web site and project volume.
We have developed or are developing the following libraries and
interfaces as part of the project.
Arithmetic on various types of extended or arbitrary precision
numbers (extended floats, rationals, floats, and so forth).
- Random Number Generators
- Sequences: This is basically an extension of the Vector
signature to include functions that more appropriate for parallel
- Priority Queues
- Matrix: A matrix package
with both dense and sparse implementations.
The geometry libraries were designed to separate the
"geometric" part (i.e., how points are located
in space) from the "topological" part (i.e.,
information about the connectivity of simplices, polytopes,
- GEOMETRY: A library of
basic geometric primitives in Euclidean Space. This included
operations on vectors, points, halfspaces, and other geometric
- PLS: Piecewise Linear
System interface. The definition of polytopes in arbitrary
dimensions with internal constraints.
Simplicial complex interface.
- HULL: Convex Hull in
arbitrary dimension. This makes use of the GEOMETRY interface for
the geometric primitives, and SIMPLICIAL_COMPLEX to define the
Guy Blelloch, Hal Burch, Karl Crary, Robert Harper, Gary Miller, and Noel
Journal of Functional
Programming, 2001 (to appear).
Perry Cheng and Guy Blelloch.
A Parallel, Real-Time Garbage Collector.
ACM Conf. on Programming Language Design and Implementation (PLDI), June 2001. 125-136.
Guy Blelloch, Perry Cheng and Phil Gibbons.
ACM Symp. Parallel Algorithms and Architectures (SPAA), July 2001. 122-133.
Aleksandar Nanevski, Guy Blelloch, and Robert Harper.
Automatic Generation of Staged Geometric Predicates.
ACM International Conf. on Functional Programming (ICFP). Sept 2001.
Umut Acar, Guy Blelloch, and Robert Harper.
Adaptive Functional Programming.
(Submitted for publication).
Dan Blandford and Guy Blelloch.
Functional Set Operations with Treaps.
(Submitted for publication).
Umut Acar, Guy Blelloch and Robert Blumofe.
The Data Locality of Work Stealing.
ACM Symp. Parallel Algorithms and Architectures (SPAA), July 2000. 1-12.
Guy E. Blelloch and Perry Cheng.
On Bounding Time and Space for Multiprocessor Garbage Collection.
ACM Conf. on Programming Language Design and Implementation (PLDI),
Girija J. Narlikar and Guy E. Blelloch.
Pthreads for Dynamic and Irregular Parallelism.
Supercomputing 98: High Performance Networking and Computing}, November 1998.
Former Project Members
This project is supported by NSF under the title "Advanced
Languages for Scientific Computation Environments" as part
of the Experimental Software Systems program within CISE under
grant number 9706572.
Last update: 30-Jul-2001 01:59 PM