[Trilinos-Users] Cache performance of Trilinos MatVec
Williams, Alan B
william at sandia.gov
Wed Jun 10 08:01:14 MDT 2009
James,
For matrix-vector product y = A*x, the core of the sparse matvec is a statement like this:
y[i] += Acoefs[j]*x[Acols[j]]
So depending on how the column-indices of A are ordered, lots of cache misses in the x vector could occur.
A matrix reordering may help in some cases.
Alan
> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov
> [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf
> Of James C. Sutherland
> Sent: Tuesday, June 09, 2009 5:23 PM
> To: trilinos-users at software.sandia.gov
> Subject: [Trilinos-Users] Cache performance of Trilinos MatVec
>
> Does anyone know if there has been a study of, or effort to
> optimize,
> cache performance of MatVec operations in Trilinos?
>
> Specifically, I am finding that epetra_dcrsmv (sparse matvec) has
> extremely bad cache performance (lots of cache misses) on an intel
> chipset that I have. This seems to be problematic for a range of
> matrix sizes. I have very sparse matrices (3-10 nonzero entries per
> row), and these can range in size from O(10^2-10^10^5) rows.
>
> Any thoughts?
>
> James
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>
More information about the Trilinos-Users
mailing list