GraphBLAS-like API Design in Functional Style

Authors

  • Kirill Garbar YandexTechnologies LLC, Lev Tolstoy ul. 16, Moscow, 119021, Russian Federation
  • Igor Erin YADRO Centr Programmnykh Razrabotok LLC, Rochdelskaya ul. 15, str. 15, Moscow, 123376, Russian Federation
  • Artyom Chernikov Saint Petersburg State University, 7-9 Universitetskaya Embankment, St. Petersburg, 199034, Russian Federation
  • Dmitriy Panfilyonok Saint Petersburg State University, 7-9 Universitetskaya Embankment, St. Petersburg, 199034, Russian Federation
  • Semyon Grigorev Saint Petersburg State University, Universitetskaya nab. 7-9, St. Petersburg, 199034, Russian Federation http://orcid.org/0000-0002-7966-0698

DOI:

https://doi.org/10.32603/2071-2340-2026-1-105-114

Keywords:

graph analysis, sparse linear algebra, GraphBLAS API, GPGPU, parallel programming, functional programming, .NET, OpenCL, FSharp

Abstract

GraphBLAS API standard describes linear algebra based blocks to build parallel graph analysis algorithms. While it is a promising way to high-performance graph analysis, there are a number of drawbacks such as complicated API, hardness of implementation for GPGPU, and explicit zeroes problem. We show that the utilization of techniques from functional programming can help to solve some GraphBLAS design problems.

Author Biographies

  • Kirill Garbar, YandexTechnologies LLC, Lev Tolstoy ul. 16, Moscow, 119021, Russian Federation

    Backend Developer at Yandex.Technologies LLC, kirillgarbar322@gmail.com

  • Igor Erin, YADRO Centr Programmnykh Razrabotok LLC, Rochdelskaya ul. 15, str. 15, Moscow, 123376, Russian Federation

    Igor Erin, Junior Software Developer at VADRO Centr Programmnykh Razrabotok LLC, igor.erin.a@gmail.com

  • Artyom Chernikov, Saint Petersburg State University, 7-9 Universitetskaya Embankment, St. Petersburg, 199034, Russian Federation

    Student at Saint Petersburg State University, artem_chernikov00@list.ru

  • Dmitriy Panfilyonok, Saint Petersburg State University, 7-9 Universitetskaya Embankment, St. Petersburg, 199034, Russian Federation

    Student at Saint Petersburg State University, dmitriy.panfilyonok@gmail.com

  • Semyon Grigorev, Saint Petersburg State University, Universitetskaya nab. 7-9, St. Petersburg, 199034, Russian Federation

    Associate Professor at St. Petersburg State University, s.v.grigoriev@spbu.ru

References

J. Kepner et al., "Mathematical foundations of the graphblas," in 2016 IEEE High Perform. Extreme Comput. Conf. (HPEC), Waltham, MA, USA, 2016, pp. 1-9; doi:10.1109/HPEC.2016.7761646 DOI: https://doi.org/10.1109/HPEC.2016.7761646

O. Selvitopi et al., "Distributed many-to-many protein sequence alignment using sparse matrices," in Proc. Int. Conf. High Perform. Comput., Netw., Storage Anal. (SC '20), Atlanta, GA, USA, 2020, pp. 1-14; doi:10.1109/SC41405.2020.000792020 DOI: https://doi.org/10.1109/SC41405.2020.00079

J. Kepner et al., "Enabling massive deep neural networks with the graphblas," in 2017 IEEE High Perform. Extreme Comput. Conf. (HPEC), Waltham, MA, USA, 2017, pp. 1-10; doi:10.1109/HPEC.2017.8091098 DOI: https://doi.org/10.1109/HPEC.2017.8091098

T. A. Davis, "Algorithm 1000: Suitesparse: graphblas: Graph algorithms in the language of sparse linear algebra," ACM Trans. Math. Softw., vol. 45, no. 4, pp. 1-25, 2019; doi:10.1145/3322125 DOI: https://doi.org/10.1145/3322125

A. Buluc and J. R. Gilbert, "The combinatorial blas: Design, implementation, and applications," Int. J. High Perform. Comput. Appl., vol. 25, no. 4, pp. 496-509, 2011; doi:10.1177/1094342011403516 DOI: https://doi.org/10.1177/1094342011403516

C. Yang, A. Buluc, and J. D. Owens, "Graphblast: A high-performance linear algebra-based graph framework on the gpu," ACM Trans. Math. Softw., vol. 48, no. 1, pp. 1-51, 2022; doi:10.1145/3466795 DOI: https://doi.org/10.1145/3466795

T. Henriksen et al., "Futhark: Purely functional gpu-programming with nested parallelism and in-place array updates," in Proc. 38th ACM SIGPLAN Conf. Program. Lang. Design Implement. (PLDI 2017), Barcelona, Spain, 2017, pp. 556-571; doi:10.1145/3062341.3062354 DOI: https://doi.org/10.1145/3062341.3062354

T. L. McDonell, M. M. Chakravarty, G. Keller, and B. Lippmeier, "Optimising purely functional gpu programs," SIGPLAN Not., vol. 48, no. 9, pp. 49-60, 2013; doi:10.1145/2544174.2500595 DOI: https://doi.org/10.1145/2544174.2500595

R. Leißa et al., "Anydsl: A partial evaluation framework for programming high-performance libraries," Proc. ACM Program. Lang., vol. 2, no. OOPSLA, 2018; doi:10.1145/3276489 DOI: https://doi.org/10.1145/3276489

Downloads

Published

2026-03-31

Issue

Section

Software Engineering

How to Cite

[1]
K. Garbar, I. Erin, A. Chernikov, D. Panfilyonok, and S. Grigorev, “GraphBLAS-like API Design in Functional Style”, Comput. Tools Educ., no. 1, pp. 105–114, Mar. 2026, doi: 10.32603/2071-2340-2026-1-105-114.