# Software

The primary PASSION Lab Github organization is live.

**The Combinatorial BLAS:****CAGNET****:**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.**HipMCL****available open source**.**PASTIS****:**A distributed-memory parallel many-to-many protein sequence aligner that uses sparse matrices.**BELLA**is a computationally-efficient and highly-accurate long-read to long-read aligner and overlapper for DNA sequences.**BCL**: The Berkeley Container Library (BCL) is a C++ library of distributed data structures with interfaces similar to those in STL containers.**HipMer and MetaHipmer:**Extreme-scale de novo assembler for large complex genomes and metagenomes. 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.**mergeSpMM****:**Sparse matrix multi-vector (aka tall-skinny dense matrix) products on the GPU, also used in**PyTorch Geometric****GraphBLAST**is a high-performance linear algebra-based graph framework on the GPU, which closely approximates the GraphBLAS API.**High-performance sparse-sparse matrix products on multicores and KNL****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:****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.