<div dir="ltr">Hi all,<div><br></div><div>I am trying to understand the logging information associated with the %flops-performed-on-the-gpu reported by -log_view when running </div><div>  src/ksp/ksp/tutorials/ex34<br></div><div>with the following options</div><div>-da_grid_x 192<br>-da_grid_y 192<br>-da_grid_z 192<br>-dm_mat_type seqaijhipsparse<br>-dm_vec_type seqhip<br>-ksp_max_it 10<br>-ksp_monitor<br>-ksp_type richardson<br>-ksp_view<br>-log_view<br>-mg_coarse_ksp_max_it 2<br>-mg_coarse_ksp_type richardson<br>-mg_coarse_pc_type none<br>-mg_levels_ksp_type richardson<br>-mg_levels_pc_type none<br>-options_left<br>-pc_mg_levels 3<br>-pc_mg_log<br>-pc_type mg<br></div><div><br></div><div>This config is not intended to actually solve the problem, rather it is a stripped down set of options designed to understand what parts of the smoothers are being executed on the GPU.</div><div><br></div><div>With respect to the log file attached, my first set of questions related to the data reported under "Event Stage 2: MG Apply".</div><div><br></div><div>[1] Why is the log littered with nan's?</div><div>* I don't understand how and why "GPU Mflop/s" should be reported as nan when a value is given for "GPU %F" (see MatMult for example).</div><div><br></div><div>* For events executed on the GPU, I assume the column "Time (sec)" relates to "CPU execute time", this would explain why we see a nan in "Time (sec)" for MatMult.</div><div>If my assumption is correct, how should I interpret the column "Flop (Max)" which is showing 1.92e+09? </div><div>I would assume of "Time (sec)" relates to the CPU then "Flop (Max)" should also relate to CPU and GPU flops would be logged in "GPU Mflop/s"<br></div><div><br></div><div>[2] More curious is that within "Event Stage 2: MG Apply" KSPSolve, MGSmooth Level 0, MGSmooth Level 1, MGSmooth Level 2 all report "GPU %F" as 93. I believe this value should be 100 as the smoother (and coarse grid solver) are configured as richardson(2)+none and thus should run entirely on the GPU. </div><div>Furthermore, when one inspects all events listed under "Event Stage 2: MG Apply" those events which do flops correctly report "GPU %F" as 100. </div><div>And the events showing "GPU %F" = 0 such as <br></div><div>  MatHIPSPARSCopyTo, VecCopy, VecSet, PCApply, DCtxSync</div><div>don't do any flops (on the CPU or GPU) - which is also correct (although non GPU events should show nan??)<br></div><div><br></div><div>Hence I am wondering what is the explanation for the missing 7% from "GPU %F" for KSPSolve and MGSmooth {0,1,2}??</div><div><br></div><div>Does anyone understand this -log_view, or can explain to me how to interpret it?</div><div><br></div><div>It could simply be that:</div><div>a) something is messed up with -pc_mg_log</div><div>b) something is messed up with the PETSc build</div><div>c) I am putting too much faith in -log_view and should profile the code differently.</div><div><br></div><div>Either way I'd really like to understand what is going on.</div><div><br></div><div><br></div><div>Cheers,</div><div>Dave</div><div><br></div><div><br></div><div><br></div></div>