[Trilinos-Users] Cache performance of Trilinos MatVec

James C. Sutherland James.Sutherland at utah.edu
Wed Jun 10 08:12:16 MDT 2009


On Jun 10, 2009, at 8:01 AM, Williams, Alan B wrote:

>
> 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
>

Alan,

Has there been any effort (or is there any planned) for Trilinos to  
optimize this?  It seems that there are a few packages out there (see  
e.g. http://bebop.cs.berkeley.edu/oski ) that try to do this.

I have been using Trilinos for sparse matvec operations that are  
applied locally (e.g. not through MPI).  However, the cache  
utilization problem may force me to switch unless there is another  
option in Trilinos...

I even observe this problem on simple stencils in 1-D, e.g. a 3-point  
laplacian stencil in 1D where the sparsity pattern is very regular and  
localized.

James



More information about the Trilinos-Users mailing list