The GraphBLAS in Julia and Python: the PageRank and Triangle Centralities
The GraphBLAS is a standard API for expressing Graphs in the language of linear algebra. The goal is to provide high performance while exploiting the fundamental simplicity of Graph algorithms in terms of a common set of "Basic Linear Algebra Subprograms". A robust parallel implementation...
Saved in:
| Published in | IEEE Conference on High Performance Extreme Computing (Online) pp. 1 - 7 |
|---|---|
| Main Authors | , , , |
| Format | Conference Proceeding |
| Language | English |
| Published |
IEEE
20.09.2021
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 2643-1971 |
| DOI | 10.1109/HPEC49654.2021.9622789 |
Cover
| Summary: | The GraphBLAS is a standard API for expressing Graphs in the language of linear algebra. The goal is to provide high performance while exploiting the fundamental simplicity of Graph algorithms in terms of a common set of "Basic Linear Algebra Subprograms". A robust parallel implementation of the GraphBLAS C specification is available as the SuiteSparse GraphBLAS library [1]. The simplicity of the GraphBLAS, so apparent "in the math", is diminished when expressed in terms of a low level language such as C. To see the full expressive power of the GraphBLAS, a high level interface is needed so that the elegance of the mathematical underpinnings of the GraphBLAS is clearly apparent in the code. In this paper we introduce the Julia interface to the SuiteSparse:GraphBLAS library and compare it to the Python interface [2]. We implement the PageRank and Triangle Centrality algorithms with remarkably little code and show that no significant performance is sacrificed by moving from C to the more productive Python and Julia interfaces. |
|---|---|
| ISSN: | 2643-1971 |
| DOI: | 10.1109/HPEC49654.2021.9622789 |