Geant4 - General Status Updates and Perspectives Makoto Asai (SLAC) August 27th, 2015 Geant4 Space Users Hiroshima
Version 10.1
Geant4 – Its history Dec ’94 - Project start Apr ’97 - First alpha release Jul ’98 - First beta release Dec ’98 - First Geant4 public release - version 1.0 … Nov 30 th, ’12 – Geant4 version 9.6 release –Feb 4 th, ’15 - Geant4 9.6-patch04 release Dec 6 th, ’13 – Geant4 version 10.0 release –Mar 6 th, ’15 - Geant patch04 release Dec 5 th, ’14 – Geant4 version 10.1 release –Jun 25 th, ’15 - Geant patch02 release We currently provide one public release every year. –Beta releases are also available beta01 on June 26 th, –Release announcements on Collaboration Web pages and through the announcement mailing list General Status Updates and Perspectives - Makoto Asai3 Current version Retroactive patch release
Geant4 version 10 series Geant4 version 10 series. –Performance improvements (both in physics and computing) E.g. Memory size required per thread for full LHC/CMS will be reduced to half 28MB (v10.0) < 10MB (v10.1) –Missing functionalities yet to be migrated to multithread are arriving E.g. Real-time visualization in multithreaded mode with v10.2 –Additional APIs E.g. Better “integratability” with TBB (Intel® Threading Building Blocks), and also Smoother integration of MPI (Message Passing Interface) and MT, in particular for merging results –Additional functionalities E.g. More biasing options –New physics E.g. Multi-TeV hadronics, neutrino physics, channeling effects in crystal General Status Updates and Perspectives - Makoto Asai G4MT prototype-9.4 (2011) G4MT prototype-9.5 (2012) G (2013) G (2014) G4 10 series (2015~) Proof of principle Identify objects to be shared First testing MT code integrated into G4 Memory reduction First optimizations Production ready Public release Further refinements 4 4
Scalability on Intel Xeon Phi (version 10.1) Physical cores only First hyper- threading Second hyper- threading Third hyper- threading Intel Xeon Phi™ 3120A CMS geometry, full physics, simplified field, no detector response, no I/O General Status Updates and Perspectives - Makoto Asai 5
Memory consumption on Intel Xeon Phi Intel Xeon Phi™ 3120A CMS geometry, full physics, simplified field, no detector response, no I/O General Status Updates and Perspectives - Makoto Asai6
7 Throughput in sequential mode - more events with same CPU cost Relative Throughput (higher is better) AMD Opteron™ Processor 6128 Geant4 versions Re-architecting Geant4 for multithreading General Status Updates and Perspectives - Makoto Asai
8
9
10
General Status Updates and Perspectives - Makoto Asai11
General Status Updates and Perspectives - Makoto Asai12
Prospects
C++11 Version 10.2 will have some C++11-native code. – All users are requested to use latest compilers that support C++11. – No need to change user’s code. Platforms we plan to support for version 10.2 are: – OS: SLC6 with latest compiler Linux CentOS-7 (coming with gcc vanilla) MacOS Yosemite Window 7 or 8 (or 10) – Compilers: gcc or greater clang-3.5 or greater icc-15 or greater Visual-C++ 14 (Visual Studio 2015) Previous versions of v10.0 and v10.1 will be kept maintained with C++99 standards. – Version 10.1 will be the last version that runs on C++99. General Status Updates and Perspectives - Makoto Asai14
Geometry / transportation / persistency / analysis Geometry / transportation – Profiling and optimization of multiple navigation – Improved verbosity in navigators – Complete implementation of the unified solids library/VecGeom – Enable parameterisation by solids type in MT mode – Separate safety computation from navigator – Review use of regular navigation in conjunction with multiple-scattering (*) Persistency / analysis – Restore detector-description objects persistency functionality – Extend GDML reader/writer to support import/export of regions/cuts as auxiliary data – Support for packing/unpacking histograms and profiles suitable for sending/receiving via MPI – Add activation/inactivation mechanism for ntuples – Batch plotting (*) General Status Updates and Perspectives - Makoto Asai15
Material / generic process Materials – Verify and improve handling of gases Geometry Biasing & Importance – Switching between generic and geometrical biasing – Command line and "smart" biasing scheme Generic Biasing – Enrich event biasing options: Bremsstrahlung splitting; leading particle biasing – Prototypes of new biasing options biasing of charged particles; occurrence biasing; DXTRAN-like biasing; material/isotope biasing; Woodcock tracking Reverse Monte Carlo – Improvements of EM processes for case of thick shielding – Complete migration to multi-threading General Status Updates and Perspectives - Makoto Asai16
Run, event and detector response / physics list / user interface Run – Finalize new design of threads (additional APIs) – Porting of material scanner to multithread – Support for dedicated visualization thread – Evaluate efficient use of random number generators in multithreaded mode Event – Support of multi-threading for General Particle Source (GPS) – Support of new HepMC class Detector response – Improved visualization of scores Physics list – Implementations of generic user-extensible factory – Support for factory mechanism in multithreaded mode – Deletion of builders in multithreaded mode User interface – Improved CMake implementation for more flexible MPI library setup General Status Updates and Perspectives - Makoto Asai17
Visualization – Support of user-drawn primitives in multi-threaded mode – New driver OGLFile to produce image files in batch jobs where there is no graphics card present – Support save and restore viewpoint and save and replay fly-through in OpenInventor – Additional functionalities to supports save and restore viewpoint in OpenGL drivers – Updated HepRAPP viewer to make it work with newer Java versions – Updates to gMocrenFile and gMocren to support visualization attributes and other information – New driver G4DAE exporter for export in Collada format (*) – Development of visualization solutions for iOS and Android devices (*) – New Transparent Visualization tool to support high resolution transparent visualization with ability to rotate and zoom (*) – Change from flat format to hierarchical format in VRML (*) – Visualisation of GPS source (*) – Integrated visualization of field lines (electric, magnetic,...) (*) – Full support for visualization of Boolean shapes (*) General Status Updates and Perspectives - Makoto Asai18
Examples, Documentation Basic & Extended Examples – Complete application of coding guidelines – Complete migration to Geant4 native analysis tools – Progress in support for multithreading – New field example with faster variants of the integrators using templates – Extended biasing examples: define common physics list for B02 and B03 Advanced examples – Upgrade of human_phantom example with extension to nuclear medicine – Implementation of the LTE/RBE modeling derived by experimental measurements in hadrontherapy example Documentation – Expand Web pages of publications, validation results, and external citations General Status Updates and Perspectives - Makoto Asai19
Support of version 9.6 We propose support of version 9.6 to be ceased at the time of 10.2 release. – Release of version 10.2 is scheduled on December 4 th, Users are requested to communicate with us urgently if there is an explicit need for extending the support of v9.6. – Please note, migration effort to version 10.1 is minimal if the user sticks to the sequential mode, and still gets remarkable performance gain. General Status Updates and Perspectives - Makoto Asai20