<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:12pt"><div><div>Hi,</div><div>I use the DMMG to solve the Ax=b. At the initialization part, I either assign a predetermined value to the vectors or a random value as shown in the code below. With the same system size, and no of processors, the random initialization takes significantly more time than the predetermined value. I am attaching the laog summary in both cases. Could you please suggest why the time requirement is so huge (specially KSP Solve) in the random initialization and how I can improve it ?</div><div><br></div><div>Thanks in advance.&nbsp;</div><div><br></div><div><div>###Code without random value assignment to vectors:&nbsp;</div><div></div><div>&nbsp;&nbsp; &nbsp;u_localptr[k][j][i] = 0.7e-0;</div><div>&nbsp;&nbsp; &nbsp;v_localptr[k][j][i] = 0.81e-0;</div><div>&nbsp;&nbsp;
 &nbsp;w_localptr[k][j][i] = -54e-1;</div><div><br></div><div>###Code with random value assignment to vectors:&nbsp;</div><div></div><div>/* &nbsp; PetscRandomCreate(PETSC_COMM_WORLD,&amp;pRandom);</div><div>&nbsp;&nbsp; PetscRandomSetFromOptions(pRandom);</div><div>&nbsp;&nbsp; PetscRandomSetType(pRandom,PETSCRAND);</div><div>&nbsp;&nbsp; PetscRandomSetInterval(pRandom,0.1e-8,1.0e-8);</div><div>&nbsp;&nbsp; VecSetRandom(u,pRandom);</div><div>&nbsp;&nbsp; PetscRandomSetInterval(pRandom,-1.e-8,-0.1e-8);</div><div>&nbsp;&nbsp; VecSetRandom(v,pRandom);</div><div>&nbsp;&nbsp; //VecSetRandom(w,pRandom);</div><div>&nbsp;&nbsp; PetscRandomDestroy(pRandom);*/</div><div><br></div></div><div><br></div><div>###log_summary without random value assignment to vectors:&nbsp;</div><div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Max &nbsp; &nbsp; &nbsp; Max/Min &nbsp; &nbsp; &nbsp; &nbsp;Avg &nbsp; &nbsp;
 &nbsp;Total</div><div>Time (sec): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6.210e-01 &nbsp; &nbsp; &nbsp;1.00071 &nbsp; 6.208e-01</div><div>Objects: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.060e+02 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 1.060e+02</div><div>Flops: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5.325e+04 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 5.325e+04 &nbsp;1.065e+05</div><div>Flops/sec: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;8.581e+04 &nbsp; &nbsp; &nbsp;1.00071 &nbsp; 8.578e+04 &nbsp;1.716e+05</div><div>Memory: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.412e+06 &nbsp; &nbsp; &nbsp;1.00582 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.815e+06</div><div>MPI Messages: &nbsp; &nbsp; &nbsp; &nbsp; 7.600e+01 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 7.600e+01 &nbsp;1.520e+02</div><div>MPI Message Lengths: &nbsp;3.078e+05 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 4.051e+03 &nbsp;6.157e+05</div><div>MPI Reductions: &nbsp; &nbsp; &nbsp;
 1.250e+02 &nbsp; &nbsp; &nbsp;1.00000</div><div><br></div></div><div>VecView &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 16 1.0 1.9195e-01 1.0 0.00e+00 0.0 3.6e+01 8.2e+03 7.0e+00 30 &nbsp;0 24 48 &nbsp;6 &nbsp;30 &nbsp;0 24 48 &nbsp;8 &nbsp; &nbsp; 0</div><div>VecNorm &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4 1.0 5.9933e-05 1.4 1.64e+04 1.0 0.0e+00 0.0e+00 4.0e+00 &nbsp;0 31 &nbsp;0 &nbsp;0 &nbsp;3 &nbsp; 0 31 &nbsp;0 &nbsp;0 &nbsp;4 &nbsp; 547</div><div>VecScale &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 9 1.0 4.0106e-06 1.9 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecCopy &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 12 1.0 5.3243e-05 1.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecSet &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; 7 1.0 3.0005e-05 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecAXPY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9 1.0 1.3322e-04 1.3 3.69e+04 1.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 69 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 69 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 553</div><div>VecScatterBegin &nbsp; &nbsp; &nbsp; 53 1.0 1.1030e-03 1.1 0.00e+00 0.0 7.4e+01 4.1e+03 0.0e+00 &nbsp;0 &nbsp;0 49 49 &nbsp;0 &nbsp; 0 &nbsp;0 49 49 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecScatterEnd &nbsp; &nbsp; &nbsp; &nbsp; 53 1.0 3.6766e-0310.5 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>MatAssemblyBegin &nbsp; &nbsp; &nbsp; 2 1.0 2.6521e-04 2.8 0.00e+00 0.0 0.0e+00 0.0e+00 4.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;3 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;4
 &nbsp; &nbsp; 0</div><div>MatAssemblyEnd &nbsp; &nbsp; &nbsp; &nbsp; 2 1.0 1.0279e-03 1.0 0.00e+00 0.0 4.0e+00 1.0e+03 1.1e+01 &nbsp;0 &nbsp;0 &nbsp;3 &nbsp;1 &nbsp;9 &nbsp; 0 &nbsp;0 &nbsp;3 &nbsp;1 12 &nbsp; &nbsp; 0</div><div>KSPSetup &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 1.0 5.8801e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>KSPSolve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4 1.0 4.1139e-03 1.0 1.64e+04 1.0 0.0e+00 0.0e+00 1.0e+01 &nbsp;1 31 &nbsp;0 &nbsp;0 &nbsp;8 &nbsp; 1 31 &nbsp;0 &nbsp;0 11 &nbsp; &nbsp; 8</div><div>PCSetUp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 1.0 3.5669e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 2.0e+00 &nbsp;1 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;2 &nbsp; 1 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;2 &nbsp; &nbsp;
 0</div><div>-----------------------------------------------------------------------------------------------------------------------</div><div><br></div><div><br></div><div><br></div><div>###log_summary with random initialization to vectors:&nbsp;</div><div><div><br></div><div>Time (sec): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4.456e+01 &nbsp; &nbsp; &nbsp;1.00002 &nbsp; 4.456e+01</div><div>Objects: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.690e+02 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 1.690e+02</div><div>Flops: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.086e+10 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 1.086e+10 &nbsp;2.172e+10</div><div>Flops/sec: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.437e+08 &nbsp; &nbsp; &nbsp;1.00002 &nbsp; 2.437e+08 &nbsp;4.875e+08</div><div>Memory: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.709e+06 &nbsp; &nbsp; &nbsp;1.00302 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5.410e+06</div><div>MPI Messages:
 &nbsp; &nbsp; &nbsp; &nbsp; 8.141e+04 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 8.141e+04 &nbsp;1.628e+05</div><div>MPI Message Lengths: &nbsp;3.335e+08 &nbsp; &nbsp; &nbsp;1.00000 &nbsp; 4.096e+03 &nbsp;6.669e+08</div><div>MPI Reductions: &nbsp; &nbsp; &nbsp; 4.028e+05 &nbsp; &nbsp; &nbsp;1.00000</div><div><br></div></div><div><br></div><div><br></div><div><div>VecView &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 16 1.0 2.0461e-01 1.0 0.00e+00 0.0 3.6e+01 8.2e+03 7.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecMDot &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;80000 1.0 2.7737e+00 1.0 2.70e+09 1.0 0.0e+00 0.0e+00 8.0e+04 &nbsp;6 25 &nbsp;0 &nbsp;0 20 &nbsp; 6 25 &nbsp;0 &nbsp;0 20 &nbsp;1948</div><div>VecNorm &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 121336 1.0 3.8669e+00 1.0 4.97e+08 1.0 0.0e+00 0.0e+00 1.2e+05 &nbsp;9 &nbsp;5 &nbsp;0 &nbsp;0 30 &nbsp; 9 &nbsp;5 &nbsp;0 &nbsp;0 30 &nbsp;
 257</div><div>VecScale &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;121345 1.0 8.6525e-01 1.0 2.48e+08 1.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;2 &nbsp;2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 2 &nbsp;2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 574</div><div>VecCopy &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;40012 1.0 9.5324e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecSet &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;201343 1.0 3.3050e-01 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;1 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 1 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecAXPY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;41345 1.0 4.0391e-01 1.0 1.69e+08 1.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;1 &nbsp;2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 1 &nbsp;2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 839</div><div>VecWAXPY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1336 1.0 1.5288e-02 1.0 2.74e+06 1.0 0.0e+00
 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 358</div><div>VecMAXPY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;121336 1.0 4.6148e+00 1.0 3.03e+09 1.0 0.0e+00 0.0e+00 0.0e+00 10 28 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;10 28 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;1313</div><div>VecScatterBegin &nbsp; &nbsp;81389 1.0 6.2763e-01 1.0 0.00e+00 0.0 1.6e+05 4.1e+03 0.0e+00 &nbsp;1 &nbsp;0100100 &nbsp;0 &nbsp; 1 &nbsp;0100100 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecScatterEnd &nbsp; &nbsp; &nbsp;81389 1.0 7.0998e-01 1.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 2 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecSetRandom &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 1.0 2.7497e-04 1.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>VecNormalize &nbsp; &nbsp; &nbsp; 80000 1.0 3.2196e+00 1.0
 4.92e+08 1.0 0.0e+00 0.0e+00 8.0e+04 &nbsp;7 &nbsp;5 &nbsp;0 &nbsp;0 20 &nbsp; 7 &nbsp;5 &nbsp;0 &nbsp;0 20 &nbsp; 305</div><div>MatMult &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;81336 1.0 1.8218e+01 1.0 2.17e+09 1.0 1.6e+05 4.1e+03 0.0e+00 41 20100100 &nbsp;0 &nbsp;41 20100100 &nbsp;0 &nbsp; 238</div><div>MatSolve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 80000 1.0 9.1123e+00 1.0 2.05e+09 1.0 0.0e+00 0.0e+00 0.0e+00 20 19 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;20 19 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 450</div><div>MatLUFactorNum &nbsp; &nbsp; &nbsp; &nbsp; 1 1.0 7.6804e-04 1.0 3.74e+04 1.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp;97</div><div>MatILUFactorSym &nbsp; &nbsp; &nbsp; &nbsp;1 1.0 7.0408e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 3.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>MatAssemblyBegin &nbsp; &nbsp; &nbsp; 2 1.0
 5.7212e-04 8.6 0.00e+00 0.0 0.0e+00 0.0e+00 4.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>MatAssemblyEnd &nbsp; &nbsp; &nbsp; &nbsp; 2 1.0 1.1452e-03 1.0 0.00e+00 0.0 4.0e+00 1.0e+03 1.1e+01 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>MatGetRowIJ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 1.0 1.0453e-06 1.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>MatGetOrdering &nbsp; &nbsp; &nbsp; &nbsp; 1 1.0 5.4405e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 2.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>KSPGMRESOrthog &nbsp; &nbsp; 80000 1.0 6.8689e+00 1.0 5.40e+09 1.0 0.0e+00 0.0e+00 8.0e+04 15 50 &nbsp;0 &nbsp;0 20 &nbsp;15 50 &nbsp;0 &nbsp;0 20
 &nbsp;1573</div><div>KSPSetup &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3 1.0 5.9501e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 0</div><div>KSPSolve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4 1.0 4.3836e+01 1.0 1.09e+10 1.0 1.6e+05 4.1e+03 4.0e+05 98100100100100 &nbsp;98100100100100 &nbsp; 496</div><div>PCSetUp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2 1.0 5.8231e-03 1.0 3.74e+04 1.0 0.0e+00 0.0e+00 7.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp;13</div><div>PCSetUpOnBlocks &nbsp; &nbsp;40000 1.0 2.4762e-02 1.0 3.74e+04 1.0 0.0e+00 0.0e+00 5.0e+00 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; 0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp;0 &nbsp; &nbsp; 3</div><div>PCApply &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;40000 1.0 2.6536e+01 1.0 4.26e+09 1.0 8.0e+04 4.1e+03 3.2e+05 60 39 49 49
 79 &nbsp;60 39 49 49 79 &nbsp; 321</div><div>------------------------------------------------------------------------------------------------------------------------</div><div><br></div></div><div><br></div></div><div style="position:fixed"></div>


</div></body></html>