search menu icon-carat-right cmu-wordmark
2020 Year in Review

Linear Algebra Graph Algorithms Approach C++ Standardization

A project headed by the SEI’s Scott McMillan took a step in 2020 toward standardizing graph algorithm application development in C++.

The GraphBLAS, Basic Linear Algebra Subprograms for Graphs, is a community-driven, open programming specification for graph analysis. The specification makes the development of high-performance graph algorithms simpler and hardware agnostic by defining the algorithms in terms of higher-level linear algebraic operations.

“Graph computations are fundamental to many important defense and national security applications,” said Matt Gaston, director of the SEI’s Emerging Technology Center. These applications include logistics, intelligence, and mission planning. “GraphBLAS enables standardized and scalable development of graph applications as well as the ready adoption of future advanced computing capabilities.”

In summer 2020, the SEI released version 3.0 of the GraphBLAS Template Library (GBTL), which adds functionality to the implementation of GraphBLAS in C++, one of the most common high-performance programming languages.

Originally intended to facilitate graph analysis, GraphBLAS has many potential applications thanks to its ability to perform a large class of linear algebra operations. The complexities of these operations, coupled with different matrix storage types, make the proposed GraphBLAS application programming interface (API) especially suited for efficient and maintainable implementation in C++.

To learn more about GraphBLAS, visit