## Research Software

**The Combinatorial BLAS:**Distributed memory implementation of sparse linear algebra routines that can be used as building blocks for large scale graph and data analysis.

**HipMCL**clusters protein similarity networks with 70 billion edges in a couple of hours. This highly-scalable implementation of the Markov Cluster algorithm is available open source.

**HipMer:**Extreme-scale de novo genome assembler for large complex genomes. Primarily written in UPC with some MPI/C++ pieces.

**Compressed Sparse Blocks:**A small Cilk Plus library that performs sparse matrix times dense vector and sparse matrix transpose times dense vector using compressed sparse blocks.

**SpDM^3 and HP-CONCORD:**SpDM^3 does communication-avoiding Sparse-Dense Matrix-Matrix Multiplication on distributed-memory parallel computers and HP-CONCORD is high-performance inverse covariance matrix estimation using the CONCORD-ISTA algorithm.

**High-performance sparse-sparse matrix products on multicores and KNL**

**Implementing Push-Pull Efficiently in GraphBLAS:**Mapping direction-optimization to the language of linear algebra.

**Sparse matrix multi-vector (aka tall-skinny dense matrix) products on the GPU**

**MS-BFS-Graft:**Multithreaded OpenMP code for computing maximum cardinality matching on bipartite graphs. Performs multi-source breadth-first search with tree-grafting for exploiting parallelism.

**Genetic Mapping:**MarkerReduce (based on the BCB paper) and BubbleCluster (based on the BIBM paper) are available from the CSC@UCSB Website.

**The Knowledge Discovery Toolbox (KDT):**High-performance parallel graph analysis and mining in a very-high-level language (Python).

**GPU-APSP:**A CUDA program that computes the distances for all pairs shortest paths in a dense directed graph (represented in adjacency matrix form).