On Tue, Oct 23, 2012 at 2:36 PM, Jinquan Zhong <span dir="ltr"><<a href="mailto:jzhong@scsolutions.com" target="_blank">jzhong@scsolutions.com</a>></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><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">>> That is a good point.  In these applications, we don’t usually have a good-conditioned matrix . The condition number is always around 10^10--10^12.  This
 is out of our control.</span></b></p></div></blockquote><div><br></div><div>This is something you may have to "take control" of if you want accurate solutions. You can also compute in quad precision (--with-precision=__float128), but AFAIK, there are no quad-precision distributed memory sparse direct solvers.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p class="MsoNormal"></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div><div class="im">
<div>
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Is this the reason you want to use a direct solver instead of iterative one?</span><u></u><u></u></p>

</div>
</div><div><div class="im">
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:"Calibri","sans-serif";color:#1f497d">What do you mean "31k with a dense matrix included in the sparse matrix"?</span><span style="font-size:11.5pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">>> We have a dense matrix embedded inside a sparse matrix.  This dense matrix usually accounts for 99% of the total nnz’s.</span></b></p>
</div></blockquote><div><br></div><div>What does that dense coupling represent?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p class="MsoNormal">
<b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div>
<div><div class="im">
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:"Calibri","sans-serif";color:#1f497d">How sparse is your matrix, e.g., nnz(A)/(m*m)=?</span><span style="font-size:11.5pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">>> ~=0.4% for medium size problem and 0.04% for large size problem.</span></b></p></div>
</blockquote><div><br></div><div>Uhh, your numbers for the large problem are 178k^2 / 640k^2 = 7.8%.</div><div>  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><p class="MsoNormal">Both a and b seem indicate that, you can use small num of cores to generate original matrix A, but need more cores (resource) to solve A x =b.</p></div><div><div class="im"><p class="MsoNormal"><u></u></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">>> My confusion is that since the sparse matrix size is the same, why resource for 1152 cores are needed for 576 partitions on A, while only resource for
 432 cores are needed for 144 partitions on A?  If using 432 cores can solve the 144- partition Ax=b, why did it need 1152 cores to solve 576-partition Ax=b?  I expected 576 cores could do the job that 432 cores did on the 576-partition Ax=b.</span></b></p>
</div></blockquote></div><br><div>The amount of fill depends on the size of minimal vertex separators. Sparse matrices with the same number of nonzeros and same number of nonzeros per row can have vertex separators that are orders of magnitude different in size. The fill is quadratic in the size of the separators and computation is cubic.</div>
<div><br></div><div><br></div><div>Is your problem symmetric?</div>