This paper presents a scalable high-performance software library to be used for graph analysis and data mining. Large combinatorial graphs appear in many applications of high-performance computing, including computational biology, informatics, analytics, web search, dynamical systems, and sparse matrix methods. Graph computations are diﬃcult to parallelize using traditional approaches due to their irregular nature and low operational intensity. Many graph computations, however, contain suﬃcient coarse grained parallelism for thousands of processors, which can be uncovered by using the right primitives.
We describe the Parallel Combinatorial BLAS, which consists of a small but powerful set of linear algebra primitives speciﬁcally targeting graph and data mining applications. We provide an extendible library interface and some guiding principles for future development. The library is evaluated using two important graph algorithms, in terms of both performance and ease-of- use. The scalability and raw performance of the example applications, using the combinatorial BLAS, are unprecedented on distributed memory clusters.