Software

The primary PASSION Lab Github organization is live.

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

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

  • 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: 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.