Combinatorial Scientific Computing Lab

Code

The Combinatorial BLAS

The Combinatorial BLAS consists of a small but powerful set of linear algebra primitives specifically targeting graph and data mining applications. This is a distributed memory reference implementation that implements scalable sparse (and some dense) matrix operations that is used to implement graph algorithms such as betweenness centrality and Markov clustering. For more information, online documentation, references and the library itself, go to the project webpage.

psort

PSORT [download] is a parallel sorting code for distributed and shared memory architectures. It uses MPI for communication, and is designed to minimize the volume of communication. It has been tested on terabyte datasets with up to 256 processors. It does not use sampling to locate splitters, and hence no prior knowledge of the probability distribution is required. It provides several options for splitting, sequential sorting and merging. A parallel sample sort is also included.

PSORT powers the parallel sorting functionality in Star-P. PSORT is made available under the MIT license.

GeomOct

GeomOct is a Geometry Generator, which splits a cubic region into octrees. It is being used by our group to evaluate preconditioners for various geometries. The code is written in C++, using templates. It is modular, and meant to be fairly extensible. We hope that you find the code useful, and that it saves you some effort. GeomOct documentation, generated through Doxygen, is viewable online. Code coverage results are also viewable online. The current set of features includes:

Download the latest version of the code: octree-0.80.tar.gz. octree-0.80.zip. This code was last updated on Mon Jul 2 11:57:05 PDT 2007. We welcome comments, bug reports, and bug fixes. This code is under development right now, so feel free to mail me feature requests. Please send comments to Vikram at vik@cs.ucsb.edu.

Videos of a cut away 3D octree mesh (of a sphere) are available here. We also have a mesh of a grid obtained by generating the vaidya preconditioner on the symmetric matrix here.

cSSCA

SSCA#2 is a part of the Synthetic Scalable Concise Applications benchmkark suite. The SSCAs are a new set of benchmarks designed by the DARPA/DOE High Productivity Computer Systems program to complement existing benchmarks. It is a graph analysis benchmark comprising of a data generator and 4 kernels which operate on the graph. The benchmark is designed to have very little locality so that the memory subsystems are tested. In case of a parallel implementation, the non-locality causes a lot of remote memory lookups.

cSSCA#2 is a concise implementation of SSCA#2 in MATLAB and Star-P - a parallel implementation of the matlab programming language.


This page was last updated on Mon Jul 2 11:58:10 PDT 2007

Locations of visitors to this page