JuliaCon 2025

Sparse BLAS: Developing a C++ Interface
2025-07-24 , Main Room 3

Let's talk about implementing an interface for sparse linear algebra! This talk will focus on the ongoing Sparse BLAS effort as well as experiences implementing a high-level Sparse BLAS reference implementation in C++.


Sparse linear algebra libraries are an important tool for sparse application developers and practitioners. Currently, most applications are implemented directly using vendor-specific libraries such as cuSPARSE and MKL. While vendor libraries provide high performance, they require users to write separate implementations to run on different platforms. In this talk, I will discuss recent efforts in developing a Sparse BLAS interface in C++ as well as our efforts to develop a reference implementation. I will discuss both design decisions that allow vendor-optimized backends to apply optimizations as well as efforts developing a high-level C++ reference implementation using the ranges library, to build patterns for structured iteration.