<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 4, 2013 at 9:54 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@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"><div class="im">Dharmendar Reddy <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>> writes:<br>
<br>
>> You are right, The time per solve increases in both case, see the<br>
> attached plot.<br>
><br>
> I have attached the stage wise log_summary .<br>
<br>
</div>Thanks.<br>
<br>
##########################################################<br>
# #<br>
# WARNING!!! #<br>
# #<br>
# This code was compiled with a debugging option, #<br>
# To get timing results run ./configure #<br>
# using --with-debugging=no, the performance will #<br>
# be generally two or three times faster. #<br>
# #<br>
##########################################################<br>
<br>
<br>
Here are some relevant events:<br>
<br>
<br>
--- Event Stage 1: Solve Step : 1<br>
<br>
IPOrthogonalize 90 1.0 7.7698e-02 1.0 3.04e+06 1.0 0.0e+00 0.0e+00 5.4e+02 0 1 0 0 0 18 67 0 0 32 39<br>
IPInnerProduct 896 1.0 5.1215e-02 1.0 1.60e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 12 35 0 0 0 31<br>
VecMAXPBY 179 1.0 2.0418e-02 1.0 1.44e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 5 32 0 0 0 71<br>
VecScale 89 1.0 9.6772e-03 1.0 7.92e+03 1.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 2 0 0 0 0 1<br>
VecReduceArith 448 1.0 3.6906e-02 1.0 1.48e+06 1.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 9 32 0 0 0 40<br>
<br>
<br>
--- Event Stage 111: Solve Step : 111<br>
<br>
IPOrthogonalize 90 1.0 1.5872e+01 1.0 3.04e+06 1.0 0.0e+00 0.0e+00 5.4e+02 1 1 0 0 0 83 67 0 0 32 0<br>
IPInnerProduct 896 1.0 9.5349e+00 1.0 1.60e+06 1.0 0.0e+00 0.0e+00 0.0e+00 1 0 0 0 0 50 35 0 0 0 0<br>
VecMAXPBY 179 1.0 6.3249e+00 1.0 1.44e+06 1.0 0.0e+00 0.0e+00 0.0e+00 1 0 0 0 0 33 32 0 0 0 0<br>
VecScale 89 1.0 3.1402e+00 1.0 7.92e+03 1.0 0.0e+00 0.0e+00 0.0e+00 0 0 0 0 0 16 0 0 0 0 0<br>
VecReduceArith 448 1.0 9.5169e+00 1.0 1.48e+06 1.0 0.0e+00 0.0e+00 0.0e+00 1 0 0 0 0 49 32 0 0 0 0<br>
<br>
<br>
VecScale is simple and does exactly the same amount of work in both<br>
cases, so I think the problem is in memory management. It doesn't look<br>
like you are using enough memory to be swapping and I don't think there<br>
are any CHKMEMQ statements in here. You could try running with '-malloc<br>
0', and/or in optimized mode.<br></blockquote><div> <br></div><div>There is no CHKMEMQ statements. I will try running the optimized modes. Aren't the different eps objects independent ? All the objects are created only once. Every time i call solve, all i do is EPSSetOperators and EPSSolve. <br>
The code is designed to provide a eigensolver to the user, without worrying about the slepc and petsc objects inside, if i have to resue the eps objects for all solvers then i may have to share the eps between different instances of eigenSolver, i am not sure how easily i can do that. <br>
<br></div><div>I am running the code on dual 8-core Xeon X5 with 32 GB memory. I hardly use 1 to 2 % of memory. What do you mean by memory management problem ?<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It looks like you create one EPS per loop iteration, but don't destroy<br>
any of them until the end. If you don't need all the EPS at once, you<br>
should either reuse one throughout the loop or destroy the new one each<br>
step after using it.<br>
</blockquote></div><br></div><div class="gmail_extra"> I need to reuse the eps objects, There is an outer loop <br><br></div><div class="gmail_extra"> do jc=1,numSolve<br> <br></div><div class="gmail_extra">
computeOperators (A1,B1,A2,B2,A3,B3)<br> <br></div><div class="gmail_extra"> do ic=1,111<br></div><div class="gmail_extra"> eigenSolver(ic)%solve<br></div><div class="gmail_extra"> end do<br> <br></div><div class="gmail_extra">
ComputeOtherQuantities based on eigenvectors<br></div><div class="gmail_extra">end do<br clear="all"></div><div class="gmail_extra"><br>-- <br>-----------------------------------------------------<br>Dharmendar Reddy Palle<br>
Graduate Student<br>Microelectronics Research center,<br>University of Texas at Austin,<br>10100 Burnet Road, Bldg. 160<br>MER 2.608F, TX 78758-4445<br>e-mail: <a href="mailto:dharmareddy84@gmail.com" target="_blank">dharmareddy84@gmail.com</a><br>
Phone: +1-512-350-9082<br>United States of America.<br>Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
</div></div>