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>
