Software Tools Developed by Lab Members

Over the years, the research in the lab has resulted in the development of a number of software tools and libraries for key problems in the areas of parallel processing, data mining, bioinformatics, and collaborative filtering.

It is our general policy to make these tools available to the research community for use in their own research and/or non-commercial applications.

Here is a list of software tools that can be downloaded.

METIS: A Family of Multilevel Partitioning Algorithms
This is a collection of serial and parallel programs & libraries that can be used to partitioning unstructured graphs, finite element meshes, and hypergraphs, both on serial as well as on parallel computers.
CLUTO: Software for Clustering High-Dimensional DataSets
This is a collection of computationally efficient and high-quality data clustering and cluster analysis programs & libraries, that are well suited for high-dimensional data sets.
BDMPI: Big Data Message Passing Interface
BDMPI is a message passing library and associated runtime system for developing out-of-core distributed computing applications for problems whose aggregate memory requirements exceed the amount of memory that is available on the underlying computing cluster.
SLIM - Sparse Linear Methods for Top-N Recommender Systems
This is a library that implements a set of top-N recommendation methods that learn an item-item similarity matrix using sparse linear models.
NERSTRAND - Multi-threaded modularity-based graph clustering
This is a program that implements various serial and parallel modularity-based graph clustering algorithms based on the multilevel paradigm. These algorithms can produce high-quality clustering solutions and can scale to very large graphs.
SPLATT - Parallel Sparse Tensor Decomposition
This is a software toolkit for parallel sparse tensor factorization. It contains a memory- and operation-efficient algorithms that allows it to compute PARAFAC decompositions on large datasets.
L2AP - Fast Cosine Similarity Search With Prefix L-2 Norm Bounds
This is a program that implements various fast algorithms for for finding the set of all pairs of similar vectors (e.g., documents) whose similarity is greater than a user-specified threshold.
L2Knng - Fast K-Nearest Neighbor Graph Construction with L2-Norm Pruning
This is a program that provides high-performance implementations of several methods for constructing the K-nearest neighbor graph of a set of vectors based on cosine similarity.
PAFI: Software for Finding Patterns in Diverse Datasets
This is a collection of computationally efficient programs for finding frequent patterns in transactional, sequential, and graph datasets.
AFGen: Fragment-based Descriptors for Chemical Compounds
This is a program that generates a descriptor-based representation of a set of chemical compounds based on the fragments that they contain.
SUGGEST: A top-N Recommender Engine
This is a collection of various top-N recommendation algorithms based on collaborative filtering.
MGridGen: Multilevel Serial & Parallel Coarse Grid Construction Library
This is a highly-optimized serial and parallel library for obtaining a sequence of successive coarse grids that are well-suited for geometric multigrid methods. The quality of the elements of the coarse grids is optimized using a multilevel framework. The parallel library is based on MPI and is portable to a wide-range of architectures.
PSPASES: A Parallel Sparse Direct Solver
This is an MPI-based parallel library for solving a linear system of equations Ax=b, where A is sparse and symmetric positive definite, using Cholesky factorization.