JuliaSparse / SuiteSparseGraphBLAS.jl

Sparse, General Linear Algebra for Graphs!
MIT License
102 stars 17 forks source link

How to enable multithreading? #125

Open atbug opened 1 year ago

atbug commented 1 year ago

I expect the following script should use 16 threads:

using SparseArrays
using SuiteSparseGraphBLAS
using Arpack

gbset(:nthreads, 16)
A = GBMatrix(sprand(100000, 100000, 0.001))
H = A' + A

@info "matrix constructed"

eigs(H, nev=6, which=:SR, maxiter=1000)

However, the CPU usage keeps < 100% during eigs, for which I believe most of the time should be doing matrix vector multiplication:

image
rayegun commented 1 year ago

This is falling back on a generic matmul right now. I will try to figure out how to deal with that.