Project

General

Profile

Geant4 EM Physics Code Review Weekly Phone Meeting

Meeting

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

Participants:

Andrea Dotti
Krzysztof Genser
Boyana Norris
Soon Yung Jun

Discussion (Summary by Krzysztof)

Soon:

Profiling with the different gcc options,
redoing some of the previous runs; in progress
working on the float based G4Physics2DVector

Boyana uploaded new callgraphs to the wiki
to highlight the inlining effects

re: long non branching call graphs it may be worth to see if one could
create new functions to avoid it

can one vectorize certain calls

can we try profiling with -no-inline

will consider test vectorization flags and see what loops are vectorizable

Andrea:

Discussing G4VEmProcess (see attched png file)

Many classes derive from G4VContinuousDiscreteProcess and
G4VDiscreteProcess (deriving from G4VProcess)

do we need G4VDiscreeteProcess can we move functions to G4VEmProcess, will it help?

Suggesting replacing calls of the type:

G4Random::getTheEngine()->flat() with G4Random::getTheEngine()->flatArray(nb,rannums) when they occur in loops

G4 process is a collection of/is implemented using models

Boyana: G4VEmModel 30% (time wise)? g4venergylossproc g4transp

run 200 events only, which may be to small as the initialization dominates the profiles/call-graphs

Andrea: cmsExe is to complicated, not emphasizing EM enough
Soon will add simplifiedCalo to the website

Should one change the name of the g4vemproc? is not used for all em...
can we simplify the structure?

Will meet again on Friday at 10am. We'll use Krzysztof's access number

Here is the plan of work:

Andrea: continue looking at G4VEmProcess esp. PostStepGetPhysicalInteractionLength

Boyana: produce data timing profiles (for simplifiedCalo) for em classes/func
remove G4VContinuousDiscreteProcess and G4VDiscreteProcess and study the effect
intel comp vectorization report (possibly)

Soon: add SimplifiedCalo and finish profiling

Krzysztof: look at more of the G4VEMProcess C++ related aspects