>
>
>
> With a graph and a row-based algorithm, I would partition it using METIS
> or similar, then apply an RCM ordering within each block. This will give
> better locality of access to the vector x, which has been known (since at
> least the PETSc-FUN3D work in the late 90s) to be a major factor in SpMV
> performance.
>
>
I can just add that we (at Berkeley) also looked at SpMV ordering in the
90s. Sivan Toledo has a nice paper on it and a grad student made a PhD
thesis in the topic ("Sparsity" package).
Anyway we found that if you did something reasonable, RCM, Metis,
performance was pretty similar (we used IBMs a lot also), and random
ordering was about 3x slower. FWIW.
- Re: [petsc-dev] Questions around benchmarking and... Junchao Zhang
- Re: [petsc-dev] Questions around benchmarking... Rohan Yadav
- Re: [petsc-dev] Questions around benchmar... Rohan Yadav
- Re: [petsc-dev] Questions around ben... Junchao Zhang
- Re: [petsc-dev] Questions around... Rohan Yadav
- Re: [petsc-dev] Questions around... Junchao Zhang
- Re: [petsc-dev] Questions around... Rohan Yadav
- Re: [petsc-dev] Questions around... Junchao Zhang
- Re: [petsc-dev] Questions around... Matthew Knepley
- Re: [petsc-dev] Questions around... Jed Brown
- Re: [petsc-dev] Questions around... Mark Adams
- Re: [petsc-dev] Questions around... Victor Eijkhout
- Re: [petsc-dev] Questions around... Rohan Yadav
- Re: [petsc-dev] Questions around benchmarking and data loa... Barry Smith
- Re: [petsc-dev] Questions around benchmarking and dat... Rohan Yadav
- Re: [petsc-dev] Questions around benchmarking and... Barry Smith
- Re: [petsc-dev] Questions around benchmarking... Mark Adams
- Re: [petsc-dev] Questions around benchmar... Rohan Yadav
