[petsc-users] Sparse matrix partitioning in PETSc

Jed Brown jedbrown at mcs.anl.gov
Sat Jan 14 13:19:09 CST 2012


On Sat, Jan 14, 2012 at 14:07, Junchao Zhang <junchao.zhang at gmail.com>wrote:

> I'm not sure whether I should reorder a matrix before benchmarking. From
> the view of benchmarking, maybe I should also benchmark *bad *matrices.
>

Sure, but using a bad ordering is essentially a contrived difficulty. I can
take a tridiagonal matrix, permute to a random ordering, and then every
MatMult() implementation will be horrible because of horrible memory access.

At the end of the day, what matters is the ability to solve science and
engineering problems of interest. If you can get a factor of 2 without
changing the problem (just by choosing a good ordering) then it's probably
a good idea to do so. Just because some legacy application inadvertently
used a bad ordering doesn't mean that you would actually do that for a
practical problem.

For the PDE problems and architectures that we have tested (and using
decent orderings like RCM), we usually see a high fraction of peak memory
bandwidth based on a performance model that assumes optimal vector reuse
given cache size constraints.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120114/19145700/attachment.htm>


More information about the petsc-users mailing list