GraphBLAS para Rust
Resumo
Este trabalho explora a implementação do GraphBLAS, uma bibli oteca baseada em álgebra linear para algoritmos de grafos, na linguagem de programação Rust. O GraphBLAS é uma linguagem simbólica que utiliza ope rações com matrizes esparsas e vetores para representar e manipular grafos de forma eficiente, permitindo o desenvolvimento de algoritmos relacionados aos mesmos. As fortes garantias do Rust para segurança de memória, concorrência e desempenho o torna um candidato para a construção de uma biblioteca como o GraphBLAS. Este estudo aplica os fundamentos teóricos do GraphBLAS, in cluindo suas estruturas algébricas, como monoides e semianéis, utilizando o sistema de tipagem e paradigmas de programação do Rust.Referências
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].
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].
Publicado
12/08/2025
Como Citar
BROKETA, Robert Morais Santos; BRUMATTO, Hamilton José; SILVA, Vânia Cordeiro da.
GraphBLAS para Rust. In: ESCOLA REGIONAL DE COMPUTAÇÃO BAHIA, ALAGOAS E 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.
