Akademska digitalna zbirka SLovenije - logo
E-viri
Celotno besedilo
  • Pelletier, Michel; Kimmerer, Will; Davis, Timothy A.; Mattson, Timothy G.

    2021 IEEE High Performance Extreme Computing Conference (HPEC), 2021-Sept.-20
    Conference Proceeding

    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.