[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