Geant4 Computing Performance Task
Contact Person
Mission
The
G4CPT is not a task force but rather an open ended effort with the following objectives:
- Profiling to identify bottlenecks in Geant4 based on main stream applications. We need to discuss profiling tools, what we want to measure, metrics. EM, Geometry and hadronics are the areas more involved in CPU usage.
- Code reviews geared towards improving computing performance and coding practices.
- Establish computing performance activities with the High Energy Physics, Medical and Space G4 communities.
- Identify issues in multi-core, multi-thread G4.
Meetings
We intend to meet every 6-8 weeks. Agendas are available in
indico
.
Profiling information
Geant4 Tool Kit
HEP Applications
- ATLAS
- CMS
- CMSSW_3_6_0_pre4/G4.9.3/slc5_amd64_gcc434 - 10 event high pT QCD
- LHCb
- Presentation
on performance using the Google memory allocator
Medical Applications
Space Applications
Code Reviews
- CHIPS
- Propagation in fields
List of Top Problems to Investigate
Input received from a number of people in the developers and users communities. The medical community will start profiling applications in a more systematic way in the Fall of 2010. For the space community, speed is not the biggest issue at the moment but rather simulating small targets (< 1mm), tracking particles inside ~nm volumes, physics.
- Memory Allocation
- EM Physics Package
- Optimization of parameters in applications
- Revisit physics algorithms in Geant4 code: optimizations, approximations
- Multiple scattering
- Code review
- Navigation speed and memory use in Voxel geometries and when handling large numbers of materials (brought up by the medical community among others)
- Ion-ion inelastic models speed and memory use (medical).
- Propagation in Magnetic Fields
- Code review (done - no low hanging fruit from the programing practices side)
- Testing, Validation, profiling with new steppers (ATLAS is testing Nystrom)
- Hadronic cross-sections
- Precompound/de-excitation
- Code optimization. Many log/power functions are called. Many classes.
--
VDanielElvira - 29-Apr-2010