# Sparse BLAS-like functionality

**URL:** <https://discourse.julialang.org/t/sparse-blas-like-functionality/68354>\
**Category:** Offtopic\
**Created:** [September 17, 2021, 8:21pm UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354 "2021-09-17T20:21:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [September 17, 2021, 8:21pm UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/1 "2021-09-17T20:21:00Z")

</div>

Looks interesting: [http://librsb.sourceforge.net/](http://librsb.sourceforge.net/)  
Decent speedups. No Julia interface at this point.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [September 18, 2021, 7:35am UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/2 "2021-09-18T07:35:45Z")

</div>

[https://github.com/dcjones/RecursiveSparseBlocks.jl](https://github.com/dcjones/RecursiveSparseBlocks.jl)

---

<div class="post-metadata">

**Author:** ![Gregstrq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gregstrq/32/20620_2.png) [@Gregstrq](https://discourse.julialang.org/u/Gregstrq)\
**Post date:** [September 18, 2021, 11:08am UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/3 "2021-09-18T11:08:41Z")

</div>

How does it compare with SuiteSparseGraphBLAS.jl?

---

<div class="post-metadata">

**Author:** ![greatpet](https://avatars.discourse-cdn.com/v4/letter/g/e495f1/32.png) [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Post date:** [September 19, 2021, 8:53pm UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/4 "2021-09-19T20:53:08Z")

</div>

Has anyone attempted to write a pure Julia package for sparse linear algebra supporting generic numeric types?

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [September 19, 2021, 10:27pm UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/5 "2021-09-19T22:27:48Z")

</div>

Currently, most of the effort in that area is going towards dense implementations. My guess is that the next area of focus will be generic factorizations, and that a really good sparse library is a ways away.

---

<div class="post-metadata">

**Author:** ![RoyiAvital](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/royiavital/32/571_2.png) [@RoyiAvital](https://discourse.julialang.org/u/RoyiAvital)\
**Post date:** [September 20, 2021, 5:17am UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/6 "2021-09-20T05:17:33Z")

</div>

I think, gains wise, it should be the opposite.  
There is a lot to do on sparse matrices with a language as flexible as Julia.

The BLAS thing is almost saturated.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [September 20, 2021, 2:33pm UTC](https://discourse.julialang.org/t/sparse-blas-like-functionality/68354/7 "2021-09-20T14:33:16Z")

</div>

The reason for starting on BLAS like problems is that it is really good for improving LoopVectorization, which has uses other than BLAS. Specifically, these improvements help dense algebra with operations other than `*` and `+`, and more complicated loop orders (eg batched matrix multiplication).
