The purpose of this page is to provide a repository of BSPlib programs. These programs are either: (1) purely educational programs which are intended to help new users develop BSPlib programs; (2) subroutine libraries which the community at-large may find useful.
To submit software to this page, please mail Jonathan.Hill@comlab.ox.ac.uk.
SOFTWARE | AUTHOR | DESCRIPTION |
BSPlib examples | Example programs from the BSPlib document. | |
BSPPACK | Rob Bisseling | BSPPACK_EDU is a library of numerical algorithms written in C according to the BSP model. The programs are meant for teaching: they give examples of portable parallel numerical programs. The trade-off between clarity/brevity on the one hand, and efficiency on the other hand is in favour of clarity/brevity. |
Bspprobe | Jonathan Hill | bspprobe is a program that determines the BSP parameters s, l, and g of a machine. Summaries of the BSP parameters for a number of parallel machines can be found here. |
Sample sorting | Ronald Sujithan | A postscript document containing the source and description of the algorithm can be found here. | Large scan | Jonathan Hill | Partial sums of a global array containing n values which has been distributed among p processes (where n>p). A postscript document containing the source and description of the algorithm can be found here. |
Mat mult | Mark Goudreau | Matrix-matrix multiply. |
Primitive operations | Alex Gerbessiotis | Primitive operations implemented include variants of broadcasting (two-phase, tree-based) and parallel prefix (two-phase, d-ary tree). See also the BSP tutorial material for a discussion of these algorithms. |
Mat mult | Alex Gerbessiotis | A number of BSP algorithms have been implemented on top of BSPlib for matrix multiplication. These include a memory inefficient one suggested by L.G.Valiant (C.ACM 33(8),pp103-111,Aug 1990) and two variants of a straightforward memory efficient version of it. |
Matrix algs | Alex Gerbessiotis | Gauss-Jordan based matrix inversion and LU decomposition algorithms have been implemented on top of the Oxford BSPlib toolset for educational purposes. A generalized scattered distribution of the input matrix among the processors is assumed and implementation of these algorithms under a wrapped mapping (an instance of generalized scattered) distribution has also been separately and directly implemented. |
BSPscheduler | Radu Calinescu | BSPscheduler is a menu-driven tool for the automatic parallelisation of nested loops in the bulk synchronous parallel (BSP) model of parallel computation. The schedular generates C plus BSPlib code. |