>From PETSc FAQ, I learned to convert an ASCII matrix to binary sequentially, then read in PETSc in parallel<div>Yes, I want to benchmark parallel SpMV on clusters, in various implementations, such as PETSc MatMult().</div>
<div>I&#39;m not sure whether I should reorder a matrix before benchmarking. From the view of benchmarking, maybe I should also benchmark <i>bad </i>matrices.</div><div><br>On Sat, Jan 14, 2012 at 12:46 PM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>&gt;</span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div class="im">On Sat, Jan 14, 2012 at 13:32, Junchao Zhang <span dir="ltr">&lt;<a href="mailto:junchao.zhang@gmail.com" target="_blank">junchao.zhang@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>My matrices are from Florida matrix collection.</div></blockquote><div><br></div></div><div>These ASCII formats cannot be read efficiently in parallel.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div> I want to use them to test MatMult()</div></blockquote><div><br></div></div><div>You just want to benchmark sparse matrix kernels?</div><div><br></div><div>Some might consider it to be cheating, but you should consider also reordering the matrices using MatGetOrdering(mat,MATORDERINGRCM,&amp;rperm,&amp;cperm). This will tend to improve cache reuse and can offer a large (e.g. 2x depending on the matrix) speedup relative to the original ordering.</div>

</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Junchao Zhang<br>
</div>