[petsc-users] approaches to reduce computing time

Roc Wang pengxwang at hotmail.com
Sun Nov 10 12:34:29 CST 2013


Hi all,

   I am trying to minimize the computing time to solve a large sparse matrix. The matrix dimension is with m=321 n=321 and p=321. I am trying to reduce the computing time from two directions: 1 finding a Pre-conditioner to reduce the number of iterations which reduces the time numerically, 2 requesting more cores.

----For the first method, I tried several methods:
 1 default KSP and PC,
 2 -ksp_type fgmres -ksp_gmres_restart 30 -pc_type ksp  -ksp_pc_type jacobi, 
 3 -ksp_type lgmres  -ksp_gmres_restart 40 -ksp_lgmres_augment 10,
 4 -ksp_type lgmres  -ksp_gmres_restart 50 -ksp_lgmres_augment 10,
 5 -ksp_type lgmres -ksp_gmres_restart 40 -ksp_lgmres_augment 10 -pc_type asm (PCASM)

The iterations and timing is like the following with 128 cores requested:
case# iter      timing (s)
1       1436        816  
2             3    12658
3       1069        669.64
4         872        768.12
5       927          513.14

It can be seen that change -ksp_gmres_restart and -ksp_lgmres_augment can help to reduce the iterations but not the timing (comparing case 3 and 4). Second, the PCASM helps a lot.  Although the second option is able to reduce iterations, the timing increases very much. Is it because more operations are needed in the PC?

My questions here are: 1. Which direction should I take to select   -ksp_gmres_restart and -ksp_lgmres_augment? For example, if larger restart with large augment is better or larger restart with smaller augment is better?  

----For the second method, I tried with -ksp_type lgmres -ksp_gmres_restart 40 -ksp_lgmres_augment 10 -pc_type asm with different number of cores.   I found the speedup ratio increases slowly when  more than 32 to 64 cores are requested. I searched the milling list archives and found that I am very likely running into the memory bandwidth bottleneck. http://www.mail-archive.com/petsc-users@mcs.anl.gov/msg19152.html:

# of cores       iter     timing
    1                 923   19541.83
    4                 929     5897.06
    8                 932     4854.72
  16                 924     1494.33
  32                 924     1480.88
  64                 928       686.89
128                 927       627.33
256                 926       552.93

My question here is:    Is there any other PC can help on both reducing iterations and increasing scalability? Thanks. 



 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131110/760c713b/attachment.html>


More information about the petsc-users mailing list