adda
adda copied to clipboard
Estimating parallel efficiency
I have recently tried to estimate the parallel efficiency of ADDA, but it was
not that easy. In principle, timing section of the log file contains almost all
required information, like communication time for different parts of the run.
However:
1) Total communication time is not available. In particular, when more than 1
solution for the internal fields is needed (e.g. 2 incident polarizations),
communication time is indicated only for the last solution. The only workaround
is to scale this times by ratio of the total time of for the internal fields to
that for the last solution.
2) Anyway, one need to do some calculations to get the numbers. So it would be
convenient if simple numbers (like "83%") would be given explicitly in the end
of the timing section (say, overall and for the internal fields).
Original issue reported on code.google.com by yurkin
on 2 Sep 2013 at 3:29
Somewhat related issue is the timing of building the interaction matrix (e.g. for integration of Green's tensor of for Sommerfeld integration). It seems that in parallel mode this time (should be in "init interaction") is somehow distributed between "init interaction" and "init Dmatrix". Probably the root processor finishes this calculations earlier and then waits for the rest during "init Dmatrix".
However, this issue will become not important with optimizations of this calculations (#176, #252).