Julia GraphBLAS with Nonblocking Execution
Fuente:
arXiv
Saved in:
| Main Authors: | , , , |
|---|---|
| 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 |