Abstract
The Multicomputer Toolbox is a set of "first-generation" scalable parallel libraries. The Toolbox includes sparse, dense, direct and iterative linear algebra, a stiff ODE/DAE solver, and an open software technology for additional numerical algorithms. The Toolbox has an object-oriented design; C-based strategies for classes of distributed data structures (including distributed matrices and vectors) as well as uniform calling interfaces are defined. At a high level in the Toolbox, data-distribution-independence (DDI) support is provided. DDI is needed to build scalable libraries, so that applications do not have to redistribute data before calling libraries. Data-distribution-independent mapping functions implement this capability. Data-distribution-independent algorithms are sometimes more efficient than fixed-data-distribution counterparts, because redistribution of data can be avoided. Underlying the system is a "performance and portability layer," which includes interfaces to sequential BLAS, the Zipcode message passing system, and a minimal set of Unix-portability functions. In particular, the Zipcode system provides communication contexts, and process groups, collective operations, and virtual topologies, all needed for building efficient scalable libraries, and large-scale application software.

This publication has 9 references indexed in Scilit: