*First set a new PETSC_ARCH say arch-opt and ./configure with the additional argument --with-debugging=0 then recompile PETSc with the new PETSC_ARCH and recompile your code then send the new -log_view output.* I have attached the new log summary with this file. The computation time is a lot faster now. It takes around 23 seconds to compute the first 3 eigenvectors of a 200K sized matrix.
Thanks, Bodhi On Sun, Mar 26, 2017 at 3:14 AM, Bodhisatta Pramanik <[email protected]> wrote: > *The error is in EPSComputeError(), not in EPSSolve(). Did you modify the > state of the EPS object between EPSSolve() and EPSComputeError()?* > > I am not modifying the eps object. I have copied a part of the code where > I am computing the eigenvectors. > > EPSCreate(PETSC_COMM_WORLD,&eps); > EPSSetOperators(eps,m.Lpl,NULL); > EPSSetProblemType(eps,EPS_HEP); > EPSSetFromOptions(eps); > > EPSSolve(eps); //Solving for the eigenvalues > > EPSGetIterationNumber(eps,&its); > PetscPrintf(PETSC_COMM_WORLD,"Number of iterations of the method: > %D\n",its); > EPSGetType(eps,&type); > PetscPrintf(PETSC_COMM_WORLD,"Solution Method: %s\n\n",type); > EPSGetTolerances(eps,&get_tol,&maxit); > PetscPrintf(PETSC_COMM_WORLD,"Stopping condition: tol=%.4g, > maxit=%D\n",(double)get_tol,maxit); > EPSGetConverged(eps,&nconv); > PetscPrintf(PETSC_COMM_WORLD, "Number of converged eigenpairs: > %D\n\n",nconv); > if(nconv>0) > { > PetscPrintf(PETSC_COMM_WORLD, > " k ||Ax-kx||/||kx||\n" > "-------------- ----------------\n"); > for(i=0;i<nconv;i++) > { > EPSGetEigenpair(eps,i,&kr,&ki,xr,xi); > EPSComputeError(eps,i,EPS_ERROR_RELATIVE,&error); > re = PetscRealPart(kr); > im = PetscImaginaryPart(kr); > > re = kr; > im = ki; > if(im!=0.0) { > PetscPrintf(PETSC_COMM_WORLD," %9f%+9fi > %12g\n",(double)re,(double)im,(double)error); > } > else { > PetscPrintf(PETSC_COMM_WORLD," %12f > %12g\n",(double)re,(double)error); > } > } > PetscPrintf(PETSC_COMM_WORLD,"\n"); > } > > EPSDestroy(&eps); > VecDestroy(&xr); > VecDestroy(&xi); > } > > This is what I pass through my command line: > ./RunPart -eps_type jd -eps_nev 3 -st_ksp_type cg -st_ksp_rtol 0.001 > -eps_tol 0.001 -st_pc_type bjacobi -eps_smallest_real > > > *In graph partitioning, I would strongly recommend deflating the > eigenvector corresponding to the zero eigenvalue, as is done in ex11.c:* > I have tried doing this but for some reason the eigenvalues fail > to converge. > > > > On Sun, Mar 26, 2017 at 2:41 AM, Jose E. Roman <[email protected]> wrote: > >> >> > El 26 mar 2017, a las 6:08, Bodhisatta Pramanik <[email protected]> >> escribió: >> > >> > Send all the output in the error message: >> > >> > [0]PETSC ERROR: --------------------- Error Message >> -------------------------------------------------------------- >> > [0]PETSC ERROR: Object is in wrong state >> > [0]PETSC ERROR: Must call EPSSolve() first: Parameter #1 >> > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html >> for trouble shooting. >> > [0]PETSC ERROR: Petsc Release Version 3.7.5, Jan, 01, 2017 >> > [0]PETSC ERROR: ./RunPart on a arch-linux2-c-debug named >> research-5.ece.iastate.edu by bodhi91 Sat Mar 25 22:33:56 2017 >> > [0]PETSC ERROR: Configure options --with-cc=gcc --with-css=g++ >> -with-fc=gfortran --download-fblaslapack --download-mpich >> > [0]PETSC ERROR: #10468 EPSComputeError() line 643 in >> /tmp/Bodhi/slepc-3.7.3/src/eps/interface/epssolve.c >> > 0.000000 2.0795e-317 >> > >> >> The error is in EPSComputeError(), not in EPSSolve(). Did you modify the >> state of the EPS object between EPSSolve() and EPSComputeError()? >> >> In graph partitioning, I would strongly recommend deflating the >> eigenvector corresponding to the zero eigenvalue, as is done in ex11.c: >> http://slepc.upv.es/documentation/current/src/eps/examples/ >> tutorials/ex11.c.html >> >> Jose >> >> > > > -- > *Bodhisatta Pramanik,* > *Graduate Student,* > *Department of Electrical and Computer Engineering,* > *301 Durham,* > *Iowa State University,* > *Ames,Iowa 50011,* > [email protected] > *515-735-6300 <(515)%20735-6300>* > -- *Bodhisatta Pramanik,* *Graduate Student,* *Department of Electrical and Computer Engineering,* *301 Durham,* *Iowa State University,* *Ames,Iowa 50011,* [email protected] *515-735-6300*
New
Description: Binary data
