Geant4 Profiling and Benchmarking

Geant4 CPU Performance by Version (Geant4.10.x-series)

1) The Current profiling activity is a part of Geant4 Computing Performance Task

2) Profiling Results

Since January 2021 and release 10.7.r01 migrated to IntelXeonCPUE52650v2@2.60GHzS
(releases 10.5.p01, 10.6.p03, 10.7 re-profiled on the new resources)
(cyan: gcc 8.3.0 -O3)
Geant4 Version Application Performance Summary
10.7.r07-mt-serial-rm SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r07-mt-serial-rm cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r07-mt-serial-rm cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r07 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r07 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r07 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06-mt-serial-rm SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06-mt-serial-rm cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06-mt-serial-rm cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06 (aka 11.0-beta) SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06 (aka 11.0-beta) cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r06 (aka 11.0-beta) cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
11.0.beta.c00 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
11.0.beta.c00 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
11.0.beta.c00 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02.c00 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02.c00 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.p02.c00 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r05 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r05 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r05 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r04 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r04 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r04 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r03a SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r03 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r03 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r03 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r02a SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r02 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r02 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r02 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.p01 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.p01 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.p01 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7.r01 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7.r01 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7.r01 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.7 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.7 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.7 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.6.p03 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.6.p03 cmsExp Open|Speedshop IgProf(Memory) CPU MEM
10.6.p03 cmsExpVecGeom Open|Speedshop IgProf(Memory) CPU MEM
10.5.p01 SimplifiedCalo Open|Speedshop IgProf(Memory) CPU MEM
10.5.p01 cmsExp Open|Speedshop IgProf(Memory) CPU MEM

Old Profiling Results: 9.4 9.5 9.6 10.0 10.1 10.2 10.3 10.4 10.5 10.6

3) CPU per Event: Summary Plots by Versions

SimplifiedCalo PYTHIA H->ZZ electrons pions protons anti-protons gamma
cmsExp PYTHIA H->ZZ

4) Total Memory Count: Summary Plots by Versions

SimplifiedCalo PYTHIA H->ZZ electrons pions protons anti-protons gamma

5) Geant4 MT/Tasking Performance

Geant4 Version Application Performance
10.7.r07 cmsExpTasking Intel Open|SpeedShop
10.7.r06 cmsExpTasking Intel Open|SpeedShop
11.0.beta.c00 cmsExpTasking Intel Open|SpeedShop
10.7.p02.c00 cmsExpMT Intel Open|SpeedShop
10.7.r05 cmsExpTasking Intel Open|SpeedShop
10.7.r04 cmsExp(MT/RMF) MT vs Tasking N/A
10.7.r04 cmsExpMT Intel Open|SpeedShop
10.7.r03 cmsExpTasking Intel Open|SpeedShop
10.7.r03 cmsExpMT Intel Open|SpeedShop
10.7.r02 cmsExpMT Intel Open|SpeedShop
10.7.p01 cmsExpMT Intel Open|SpeedShop
10.7.r01 cmsExpMT Intel Open|SpeedShop
10.7 cmsExpMT Intel Open|SpeedShop

6) Other Test Results and Activities

  1. Exploring details of OSS 2.4.1 when profiling Geant4 MT application, version 10.7 (50 GeV e- + cmsExpMT)
    The following output has been obtained with the use of environment variable CBTF_FORCE_ITIMER_SIGNAL=1
    (e.g. CBTF_FORCE_ITIMER_SIGNAL=1 osspcsamp " < your app > " [sampling frequency] )
    Log file from running osspcsamp with 1 threads
    Log file from running ossusertime with 1 threads
    Log file from running osspcsamp with 4 threads
    Log file from running ossusertime with 4 threads
    OSS DB file from running osspcsamp with 1 thread
    OSS DB file from running ossusertime with 1 thread
    OSS DB file from running osspcsamp with 4 threads
    OSS DB file from running ossusertime with 4 threads

7) Useful Links for Performance Tools and Optimization

  1. Open|Speedshop: Home page
  2. IgProf: Ignominous Profiler is a simple tool for measuring and analysing application memory and
    performance characteristics. For more information, see IgProf home page

  3. Other HPC Performance Tools: HPCToolkits TAU
  4. Software Optimization Resources: Agner Fog