GraphBLAS for Rust

  • Robert Morais Santos Broketa UESC
  • Hamilton José Brumatto UESC
  • Vânia Cordeiro da Silva UESC

Abstract


This work explores the implementation of GraphBLAS, a linear algebra-based library for graph algorithms, using the Rust programming lan guage. GraphBLAS is a symbolic language that uses sparse matrix and vector operations to efficiently represent and manipulate graphs, allowing the deve lopment of algorithms related to them. Rust’s strong guarantees for memory safety, concurrency, and performance make it a candidate for building a library like GraphBLAS. This study applies the theoretical foundations of GraphBLAS, including its algebraic structures such as monoids and semirings, using Rust’s typing system and programming paradigms.

References

Blackford, L. S., Petitet, A., Pozo, R., Remington, K., Whaley, R. C., Demmel, J., Dongarra, J., Duff, I., Hammarling, S., Henry, G., and others (2002). An updated set of basic linear algebra subprograms (BLAS). ACM Transactions on Mathematical Software, 28(2):135–151. Publisher: Citeseer.

Bondy, J. A. and Murty, U. S. R. (2008). Graph Teory. Springer.

Brock, B., Bulu, A., Mattson, T., Mcmillan, S., and Moreira, J. (2021). The GraphBLAS C API Specification: Version 2.0.0. The Carnegie Mellon University.

Chevalley, C. (1956). Fundamental concepts of algebra. New York : Academic Press.

Community, G. The GraphBLAS. [link]. Publication Title: Welcome to the GraphBLAS Forum. Accessed: 2024-08-23.

Davis, T. A. (2019). Algorithm 1000: SuiteSparse: GraphBLAS: Graph algorithms in the language of sparse linear algebra. ACM Transactions on Mathematical Software (TOMS), 45(4):1–25. Publisher: ACM New York, NY, USA.

Flitton, M. and Morton, C. (2025). Async Rust: Unleashing the Power of Fearless Concurrency. O’Reilly Media, Sebastopol.

Grama, A., Gupta, A., Karypis, G., and Kumar, V. (2003). Introduction to Parallel Computing. Addison-Wesley, Harlow, England ; New York.

Hohenheim, J. and Durante, D. (2018). Rust Standard Library Cookbook: Over 75 recipes to leverage the power of Rust. Packt Publishing, Birmingham, UK.

Kepner, J., Aaltonen, P., Bader, D., Buluç, A., Franchetti, F., Gilbert, J., Hutchison, D., Kumar, M., Lumsdaine, A., Meyerhenke, H., McMillan, S., Yang, C., Owens, J. D., Zalewski, M., Mattson, T., and Moreira, J. (2016). Mathematical foundations of the GraphBLAS. In 2016 IEEE High Performance Extreme Computing Conference (HPEC), pages 1–9.

Klabnik, S. and Nichols, C. (2023). The Rust programming language. No Starch Press.

Morais, R. (2025). GraphBLAS para Rust. [link].
Published
2025-08-12
BROKETA, Robert Morais Santos; BRUMATTO, Hamilton José; SILVA, Vânia Cordeiro da. GraphBLAS for Rust. In: REGIONAL SCHOOL ON COMPUTING OF BAHIA, ALAGOAS, AND SERGIPE (ERBASE), 25. , 2025, Lagarto/SE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 172-181. DOI: https://doi.org/10.5753/erbase.2025.13668.