Alexis Montoison
Alexis Montoison
The `GMRES` method of Krylov.jl is slower than the `GMRES` of IterativeSolvers.jl ?
To optimize the performance of Krylov methods, you could use `MKLSparse.jl`. Matrix-vector products are multi-threaded (https://juliasmoothoptimizers.github.io/Krylov.jl/dev/tips/).
> [#1551 (comment)](https://github.com/SciML/OrdinaryDiffEq.jl/issues/1551#issuecomment-1008235901) has a bunch of examples. IterativeSolvers.jl is just aggressively bad here and I haven't had time to look into it, but it was far enough away that...
> Specifically, this is the issue that can really hurt users of default Julia installations: [JuliaLang/julia#33409](https://github.com/JuliaLang/julia/issues/33409) You opened the issue in 2019 and it's still not fixed ?! :disappointed: I...
I did some benchmarks with `MKL` and `OpenBLAS` for `dot` products. The relative difference between them is small. ``` ┌───────────┬────────────────────┬────────────────────┬─────────┐ │ Dimension │ OpenBLAS 4 threads │ OpenBLAS 2 threads...
Do we have an efficient Julia implementation of `dot` somewhere to easily compare with BLAS versions?
``` ┌───────────┬────────────────────┬────────────────────┬─────────┬─────────┐ │ Dimension │ OpenBLAS 4 threads │ OpenBLAS 2 threads │ MKL │ Julia │ ├───────────┼────────────────────┼────────────────────┼─────────┼─────────┤ │ 10.0 │ 1.13365 │ 1.13204 │ 1.13028 │ 1.0 │ │...
`MKL` outperforms `OpenBLAS` and the Julia implementation for `dot` products. I did other benchmarks yesterday with complex numbers for `scal!`, `axpy!` and `axpby!` and MKL surpasses the other versions too...
@ChrisRackauckas I have an Intel i5-6200U (Skylake architecture) ``` Julia Version 1.7.1 Commit ac5cc99908 (2021-12-22 19:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz WORD_SIZE:...
We could change all `mul!` into `@kmul!` and after add a special dispatch to spMVs of GraphBLAS when they can be used [here](https://github.com/JuliaSmoothOptimizers/Krylov.jl/blob/main/src/krylov_utils.jl#L203-L258). We do that for all BLAS 1...