Geant4 EM Physics Code Review Weekly Phone Meeting


Date: October 18, 2013 at 10.00 AM US CDT (Fermilab local time)
Place: 1-866-740-1260 (ReadyTalk line) (Host : Krzysztof)


Andrea Dotti
Krzysztof Genser
Soon Yung Jun
Boyana Norris


(Summary by Krzysztof)

Boyana reported preliminary results regarding cache misses (using hpctoolkit)
for the Geant4 versions before the vector of vectors change
(in G4Physics2DVector) and the latest one we had based on 9.6.r07:
Misses L1 (data) L2 (total)
Before: 8.67e09 9.01e+07
Latest: 2.68e10 2.84e+08
Which would be consistent with our hypothesis that the code change
resulted in more cache misses which resulted in overall code slowdown.
Boyana will look at the data some more using different tools.

Andrea reported his experience with using gooda - a google and LBNL
performance monitoring tool.
Andrea used it on an open lab machine
(it requires a different kernel, and a dedicated machine) to
profile cmsExe; the tool was preconfigured for geant4 cmsExe
Andrea will upload a tarball with an info which may be
useful to configure other tools to our wiki page.

Soon looked into generating profiling results in the csv format
and will add it for the future profiling reports.

Soon ask about using static code analyzers re 3k lines of code in
G4VEnergyLossProcess. Boyana suggested that the analyzers may not be
very useful for the type of code analysis we do when we change algorithms
and data structures (can it still be useful for spotting "obvious" problem areas?)

Soon will add more info on his analysis of PostStepGetPhysicalInteractionLength.

Soon mentioned some code duplication between G4VEnergyLossProcess
and G4VEmProcess which was also noted by Krzysztof in AlongStepDoIt.
We will look into eliminating some of that duplication
(using a helper free function or another class function).

The plan for next week is to work on the items from the todo
list from the previous weeks.

We shall meet again on Friday (10am Central).