[petsc-users] Memory optimization

Jose E. Roman jroman at dsic.upv.es
Thu Nov 21 11:39:43 CST 2019


Don't use -mat_mumps_icntl_14 to reduce the memory used by MUMPS.

Most likely the problem is that the interval you gave is too large and contains too many eigenvalues (SLEPc needs to allocate at least one vector per each eigenvalue). You can count the eigenvalues in the interval with the inertias, which are available at EPSSetUp (no need to call EPSSolve). See this example:
http://slepc.upv.es/documentation/current/src/eps/examples/tutorials/ex25.c.html
You can comment out the call to EPSSolve() and run with the option -show_inertias
For example, the output
   Shift 0.1  Inertia 3 
   Shift 0.35  Inertia 11 
means that the interval [0.1,0.35] contains 8 eigenvalues (=11-3).

By the way, I would suggest using BVMAT instead of BVVECS (the latter is slower).

Jose


> El 21 nov 2019, a las 18:13, Perceval Desforges via petsc-users <petsc-users at mcs.anl.gov> escribió:
> 
> Hello all,
> 
> I am trying to obtain all the eigenvalues in a certain interval for a fairly large matrix (1000000 * 1000000). I therefore use the spectrum slicing method detailed in section 3.4.5 of the manual. The calculations are run on a processor with 20 cores and 96 Go of RAM.
> 
> The options I use are :
> 
> -bv_type vecs  -eps_krylovschur_detect_zeros 1 -mat_mumps_icntl_13 1 -mat_mumps_icntl_24 1 -mat_mumps_cntl_3 1e-12
> 
> 
> 
> However the program quickly crashes with this error:
> 
> slurmstepd: error: Step 2115.0 exceeded virtual memory limit (312121084 > 107317760), being killed
> 
> I've tried reducing the amount of memory used by slepc with the -mat_mumps_icntl_14 option by setting it at -70 for example but then I get this error:
> 
> [1]PETSC ERROR: Error in external library
> [1]PETSC ERROR: Error reported by MUMPS in numerical factorization phase: INFOG(1)=-9, INFO(2)=82733614
> 
> which is an error due to setting the mumps icntl option so low from what I've gathered.
> 
> Is there any other way I can reduce memory usage?
> 
> 
> 
> Thanks,
> 
> Regards,
> 
> Perceval,
> 
> 
> 
> P.S. I sent the same email a few minutes ago but I think I made a mistake in the address, I'm sorry if I've sent it twice.
> 



More information about the petsc-users mailing list