### Github organization

Some (but certainly not all) of the research software listed on this website and more can be found under the github organization of my research group: https://github.com/PASSIONLab/

### 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. It is a highly-scalable distributed-memory implementation of the Markov Cluster algorithm.

**PASTIS**is a distributed-memory parallel many-to-many protein sequence aligner that uses sparse matrices.

**CAGNET**is a family of parallel algorithms for training GNNs that can asymptotically reduce communication compared to previous parallel GNN training methods. CAGNET algorithms are based on 1D, 1.5D, 2D, and 3D sparse-dense matrix multiplication, and are implemented with torch.distributed on GPU-equipped clusters.

**merge-SpMM:**Sparse matrix multi-vector (aka tall-skinny dense matrix) products on the GPU, also used in

**PyTorch Geometric**

**BELLA**is a computationally-efficient and highly-accurate long-read to long-read aligner and overlapper for DNA sequences.

**LOGAN**does X-drop based pairwise alignment on NVIDIA GPUs.

**GraphBLAST**is a high-performance linear algebra-based graph framework on the GPU, which closely approximates the GraphBLAS API.

**HipMer and MetaHipMer:**Extreme-scale de novo genome assembler for large complex (meta)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.

**mtSpGEMM:**High-performance sparse-sparse matrix products on multicores processors.

**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.

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

**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.

### Older Software that is no longer maintained

**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).