Access the full text.
Sign up today, get DeepDyve free for 14 days.
T. Davis (2018)
Graph algorithms via SuiteSparse: GraphBLAS: triangle counting and K-truss2018 IEEE High Performance extreme Computing Conference (HPEC)
C. Xavier, S. Iyengar (1998)
Introduction to parallel algorithms
(2009)
Intel
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2009)
Introduction to Algorithms (3rd edThe MIT Press.
Koji Ueno, T. Suzumura, N. Maruyama, K. Fujisawa, S. Matsuoka (2017)
Efficient Breadth-First Search on Massively Parallel and Distributed-Memory MachinesData Science and Engineering, 2
T. Davis (2019)
Algorithm 1000: SuiteSparse: GraphBLAS: Graph Algorithms in the Language of Sparse Linear AlgebraACM Trans. Math. Softw., 45
J. Gilbert, C. Moler, R. Schreiber (1992)
Sparse Matrices in MATLAB: Design and ImplementationSIAM J. Matrix Anal. Appl., 13
S. Warshall (1962)
A Theorem on Boolean MatricesJ. ACM, 9
(2015)
Internal NSA
Carl Yang, A. Buluç, John Owens (2019)
GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPUACM Transactions on Mathematical Software (TOMS), 48
Maciej Besta, Florian Marending, Edgar Solomonik, T. Hoefler (2017)
SlimSell: A Vectorizable Graph Representation for Breadth-First Search2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
Y. Shiloach, U. Vishkin (1982)
An O(n² log n) Parallel MAX-FLOW AlgorithmJ. Algorithms, 3
Tinkara Toš (2012)
Graph Algorithms in the Language of Linear Algebra, 22
Jack Dongarra, A. Lumsdaine, Xinhiu Niu, R. Pozo, K. Remington (1994)
A Sparse Matrix Library in C + + for High PerformanceArchitectures
Carl Yang, A. Buluç, John Owens (2018)
Implementing Push-Pull Efficiently in GraphBLASProceedings of the 47th International Conference on Parallel Processing
A. Buluç, T. Mattson, Scott McMillan, J. Moreira, Carl Yang (2017)
Design of the GraphBLAS API for C2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
In the base step the claim follows trivially for A 1 = S 1 AS 1 since S 1 is the Identity. Now in the inductive step, assume A k = S k AS k holds
R. Vuduc, J. Demmel, K. Yelick (2005)
OSKI: A library of automatically tuned sparse matrix kernelsJournal of Physics: Conference Series, 16
G. Blelloch (1996)
Programming parallel algorithmsCommun. ACM, 39
This author presented initial findings at an internal conference in 2015
Carl Yang, Yangzihao Wang, John D. Owens (2015)
Fast sparse matrix and sparse vector multiplication algorithm on the GPUProceedings of the 2015 IEEE International Parallel and Distributed Processing Symposium Workshop (IPDPSW ’15), 2015
S. Beamer, K. Asanović, D. Patterson (2012)
Direction-optimizing Breadth-First Search2012 International Conference for High Performance Computing, Networking, Storage and Analysis
R. Floyd (1962)
Algorithm 97: Shortest pathCommunications of the ACM, 5
(2019)
SuiteSparse:GraphBLAS
Intel (2009)
Intel Math Kernel LibraryReference Manual. Intel Corporation
H. Bucker, Christian Sohr (2014)
Reformulating a Breadth-First Search Algorithm on an Undirected Graph in the Language of Linear Algebra2014 International Conference on Mathematics and Computers in Sciences and in Industry
For example, if all diagonal elements in S were one except for S (2, 2), then SAS returns A with A * ,2 and A 2, * as the zero vector
Carl Yang, Aydin Buluc, John D. Owens (2019)
GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPUarXiv 1908.01407. arxiv:cs.DC/1908.01407
J. Gilbert (2011)
Graph Algorithms in the Language of Linear Algebra: How Did We Get Here, and Where Do We Go Next?2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
Carl Yang, Yangzihao Wang, John Owens (2015)
Fast Sparse Matrix and Sparse Vector Multiplication Algorithm on the GPU2015 IEEE International Parallel and Distributed Processing Symposium Workshop
T. Cormen, C. Leiserson, R. Rivest, C. Stein (2009)
Introduction to Algorithms, third edition
A. Buluç, Kamesh Madduri (2011)
Parallel breadth-first search on distributed memory systems2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
Claim 4. The equality A k+1 = S k+1 A k S k+1 holds for k ≥ 1
J. Leskovec, A. Krevl (2014)
{SNAP Datasets}: {Stanford} Large Network Dataset Collection
T. Cormen, C. Leiserson, R. Rivest (1990)
Introduction to Algorithms
(1959)
The shortest path through a maze
By Definition 3 the nonzeros in S k+1 must be in S k and so these rows are identical
A. Azad, A. Buluç (2016)
A Work-Efficient Parallel Sparse Matrix-Sparse Vector Multiplication Algorithm2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
Scott Beamer, Krste Asanović, David Patterson (2012)
Direction-optimizing breadth-first searchProceedings of the International Conference on High Performance Computing, 12
There has been a rise in the popularity of algebraic methods for graph algorithms given the development of the GraphBLAS library and other sparse matrix methods. An exemplar for these approaches is Breadth-First Search (BFS). The algebraic BFS algorithm is simply a recurrence of matrix-vector multiplications with the n × n adjacency matrix, but the many redundant operations over nonzeros ultimately lead to suboptimal performance. Therefore an optimal algebraic BFS should be of keen interest especially if it is easily integrated with existing matrix methods. Current methods, notably in the GraphBLAS, use a Sparse Matrix masked-Sparse Vector multiplication in which the input vector is kept in a sparse representation in each step of the BFS, and nonzeros in the vector are masked in subsequent steps. This has been an area of recent research in GraphBLAS and other libraries. While in theory, these masking methods are asymptotically optimal on sparse graphs, many add work that leads to suboptimal runtime. We give a new optimal, algebraic BFS for sparse graphs, thus closing a gap in the literature. Our method multiplies progressively smaller submatrices of the adjacency matrix at each step. Let n and m refer to the number of vertices and edges, respectively. On a sparse graph, our method takes O(n) algebraic operations as opposed to O(m) operations needed by theoretically optimal sparse matrix approaches. Thus, for sparse graphs, it matches the bounds of the best-known sequential algorithm, and on a Parallel Random Access Machine, it is work-optimal. Our result holds for both directed and undirected graphs. Compared to a leading GraphBLAS library, our method achieves up to 24x faster sequential time, and for parallel computation, it can be 17x faster on large graphs and 12x faster on large-diameter graphs.
ACM Transactions on Knowledge Discovery from Data (TKDD) – Association for Computing Machinery
Published: May 10, 2021
Keywords: Breadth-first search
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.