Julia GraphBLAS with Nonblocking Execution

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Costanza, Pascal, Mattson, Timothy G., Kimmerer, Raye, Brock, Benjamin
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914162634915840
author Costanza, Pascal
Mattson, Timothy G.
Kimmerer, Raye
Brock, Benjamin
author_facet Costanza, Pascal
Mattson, Timothy G.
Kimmerer, Raye
Brock, Benjamin
contents From the beginning, the GraphBLAS were designed for ``nonblocking execution''; i.e., calls to GraphBLAS methods return as soon as the arguments to the methods are validated and define a directed acyclic graph (DAG) of GraphBLAS operations. This lets GraphBLAS implementations fuse functions, elide unneeded objects, exploit parallelism, plus any additional DAG-preserving transformations. GraphBLAS implementations exist that utilize nonblocking execution but with limited scope. In this paper, we describe our work to implement GraphBLAS with support for aggressive nonblocking execution. We show how features of the Julia programming language greatly simplify implementation of nonblocking execution. This is \emph{work-in-progress} sufficient to show the potential for nonblocking execution and is limited to GraphBLAS methods required to support PageRank.
format Preprint
id arxiv_https___arxiv_org_abs_2509_14211
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Julia GraphBLAS with Nonblocking Execution
Costanza, Pascal
Mattson, Timothy G.
Kimmerer, Raye
Brock, Benjamin
Mathematical Software
Distributed, Parallel, and Cluster Computing
Programming Languages
From the beginning, the GraphBLAS were designed for ``nonblocking execution''; i.e., calls to GraphBLAS methods return as soon as the arguments to the methods are validated and define a directed acyclic graph (DAG) of GraphBLAS operations. This lets GraphBLAS implementations fuse functions, elide unneeded objects, exploit parallelism, plus any additional DAG-preserving transformations. GraphBLAS implementations exist that utilize nonblocking execution but with limited scope. In this paper, we describe our work to implement GraphBLAS with support for aggressive nonblocking execution. We show how features of the Julia programming language greatly simplify implementation of nonblocking execution. This is \emph{work-in-progress} sufficient to show the potential for nonblocking execution and is limited to GraphBLAS methods required to support PageRank.
title Julia GraphBLAS with Nonblocking Execution
topic Mathematical Software
Distributed, Parallel, and Cluster Computing
Programming Languages
url https://arxiv.org/abs/2509.14211