<div dir="ltr"><span style="font-size:12.8px">Try -st_pc_type gamg:</span><br style="font-size:12.8px"><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Doing this with the existing eigensolver,linear solver : ./RunPart -eps_type jd -eps_nev 3 -st_ksp_type cg -st_ksp_rtol 0.001 -eps_tol 0.001 -st_pc_type gamg -eps_smallest_real results in the following issues:-</span></div><div><span style="font-size:12.8px">PETSC ERROR: Object is in wrong state</span></div><div><span style="font-size:12.8px">PETSC ERROR: Must call EPSSolve() first: Parameter #1</span></div><div><br style="font-size:12.8px"></div><div><span style="font-size:12.8px">Try -st_pc_type sor</span><br></div><div><br></div><div>Doing this again with the existing eigensolver,linear solver returns me the eigenvalues but it takes more time. (106 seconds) for a Laplacian matrix of 200K size. The bjacobi was giving me the same eigenvalues but in 60 seconds. </div><div><br></div><div><br></div><div><span style="font-size:12.8px">Run with -log_view to see where the computation is taking the most time: </span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">EPSSolve and KSPSolve take the most time to finish computation. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Since the matrix is symmetric are you using the sbaij format instead of AIJ?</span><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I am using the sbaij format but with block size 1. I guess that is equivalent to the AIJ format itself. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks,</span></div><div><span style="font-size:12.8px">Bodhi</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 25, 2017 at 10:22 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Mar 25, 2017, at 8:52 PM, Bodhisatta Pramanik <<a href="mailto:bodhi91@iastate.edu">bodhi91@iastate.edu</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I apologize for the slepc question. I could not find any user lists so I'm hoping someone on here might be able to offer some guidance.<br>
><br>
> Problem Definition:<br>
> I am working on a graph partitioning problem. I have the laplacian of a large graph(500,000 nodes) and am interested in extracting its global information in order to find good partitioning. An approach is to compute the first few(4-5) eigenvalues and use that information to formulate the partition algorithm.<br>
><br>
> I am leveraging the EPS solvers of the Slepc library. It appears that the Jacobi-davidson eigen solver gives me the eigenvalues in the shortest period of time compared to others (Krylov-Schur, Rayleigh quotient, Lanczos, etc). I use this eigensolver with the conjugate gradient linear solver and the block-jacobi preconditioner. So this is what I am basically passing through the command line:<br>
><br>
> ./RunPart -eps_type jd -eps_nev 4 -st_ksp_type cg -st_ksp_rtol 0.001 -eps_tol 0.001 -st_pc_type bjacobi -eps_smallest_real<br>
<br>
</span> Try -st_pc_type gamg<br>
<br>
One one process default bjacobi results in ILU which is not a great preconditioner.<br>
<br>
Also try -st_pc_type sor<br>
<span class=""><br>
><br>
> Question:<br>
> The time it takes to compute the first 4-5 eigenvectors of a matrix of size (200k) is near about 60 seconds. CPU config: Intel Xeon 2GHz. I am using a single processor to run my code. Is there any way I can gain major speedup than what I am getting?<br>
<br>
</span> Run with -log_view to see where the computation is taking the most time.<br>
<span class=""><br>
><br>
> Is it possible to obtain the eigenvalues inside 10-15 seconds of such huge matrices even if I do not use multiple processor??<br>
><br>
> Can someone provide me with some valuable guidance??<br>
<br>
</span> Since the matrix is symmetric are you using the sbaij format instead of AIJ?<br>
<br>
><br>
> Thanks,<br>
> Bodhi<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><b><font size="2" face="times new roman, serif">Bodhisatta Pramanik,</font></b><div><i><font size="2" face="times new roman, serif">Graduate Student,</font></i></div><div><i><font size="2" face="times new roman, serif">Department of Electrical and Computer Engineering,</font></i></div><div><i><font size="2" face="times new roman, serif">301 Durham,</font></i></div><div><i><font size="2" face="times new roman, serif">Iowa State University,</font></i></div><div><i><font size="2" face="times new roman, serif">Ames,Iowa 50011,</font></i></div><div><font size="2" face="times new roman, serif"><a href="mailto:bodhi91@iastate.edu" target="_blank">bodhi91@iastate.edu</a></font></div><div><u><font size="2" face="times new roman, serif">515-735-6300</font></u></div></div></div></div></div></div></div></div></div>
</div>