Import Geant4 11.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2021-12-12 17:16:06 +01:00
parent 80e2389dd8
commit 84f33a068c
593 changed files with 68589 additions and 1 deletions
@@ -0,0 +1,27 @@
///\file "parallel/TBB/.README.txt"
///\brief Examples TBB README page
/*! \page Examples_tbb Category "parallel/TBB"
TBB directory shows how to integrate Intel Threading Building Block and Geant4
to achieve event-level parallelism.
\link ExampleTBB_B2b TBB/B2b \endlink
Currently only a preliminary version of one example is provided: it replaces
the Geant4 Version 10.0 event-loop parallelism based on pthreads with TBB
task-based parallelism. <em> It should not be considered a feature-complete example
and it present some limitations (no merging of output, no correct clean-up of
heap). </em>
It will be substantially improved in the future.
If you have interest in TBB please
refer to Geant4 Multi-threading user-forum (reachable from Geant4 website)
where updates on TBB will be communicated or contact example author at:
adotti@slac.stanford.edu.
*/
@@ -0,0 +1,51 @@
///\file "parallel/TBB/B2b/.README.txt"
///\brief Example TBB/B2b README page
/*! \page ExampleTBB_B2b Example TBB/B2b
This example shows how to integrate Intel Threading Building Block and Geant4
to achieve event-level parallelism.
<em>
Note that this is a preliminary version which should not be considered a
feature-complete example and which presents some limitations (no merging of
output, no correct clean-up of heap). It will be substantially improved
in 2014.
</em>
This example adds to B2b example, originally provided in basic example,
the TBB based classes:
\section TBB_B2b_s1 tbbMasterRunManager
tbbMasterRunManager class implements the master model run manager for TBB bases
application.
It is instantiated by user main (or equivalent function) instead
of G4[MT]RunManager. It controls the creation of tbb::tasks.
See G4MTRunManager for documentation of methods relative to base
class. Only class specific methods are documented here.
\section TBB_B2b_s2 tbbWorkerRunManager
tbbWorkerRunManager class implements the worker model run manager for TBB based
application.
It is instantiated by tbbUserWorkerInitialization and used by
tbbMasterRunManager.
See G4WorkerRunManager for documentation of methods relative to
base class. Only class specific methods are documented here.
\section TBB_B2b_s3 tbbUserWorkerInitialization
tbbUserWorkerInitialization class implements TBB specific worker initialization.
It is a sub-class of G4UserWorkerThreadInitialization.
Its role is to instantiate a tbbWorkerRunManager to be used by
tbb tasks.
\section TBB_B2b_s4 tbbTask
tbbTask class represents one TBB task.
*/
+47
View File
@@ -0,0 +1,47 @@
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
TBB/B2b
--------
This example shows how to integrate Intel Threading Building Block and Geant4
to achieve event-level parallelism.
Note that this is a preliminary version which should not be considered a
feature-complete example and which presents some limitations (no merging of
output, no correct clean-up of heap). It will be substantially improved
in 2014.
This example adds to B2b example, originally provided in basic example,
the TBB based classes:
tbbMasterRunManager:
--------------------
This class implements the master model run manager for TBB bases
application.
It is instantiated by user main (or equivalent function) instead
of G4[MT]RunManager. It controls the creation of tbb::tasks.
See G4MTRunManager for documentation of methods relative to base
class. Only class specific methods are documented here.
tbbWorkerRunManager
--------------------
This class implements the worker model run manager for TBB based
application.
It is instantiated by tbbUserWorkerInitialization and used by
tbbMasterRunManager.
See G4WorkerRunManager for documentation of methods relative to
base class. Only class specific methods are documented here.
tbbUserWorkerInitialization
---------------------------
This class implements TBB specific worker initialization.
It is a sub-class of G4UserWorkerThreadInitialization.
Its role is to instantiate a tbbWorkerRunManager to be used by
tbb tasks.
tbbTask
---------------------------
This class represents one TBB task.
+22
View File
@@ -0,0 +1,22 @@
Geant4 extended examples - TBB
--------------------------------
TBB directory shows how to integrate Intel Threading Building Block and Geant4
to achieve event-level parallelism.
TBB/B2b
Currently only a preliminary version of one example is provided: it replaces
the Geant4 Version 10.0 event-loop parallelism based on pthreads with TBB
task-based parallelism. It should not be considered a feature-complete example
and it present some limitations (no merging of output, no correct clean-up of
heap).
It will be substantially improved in the future.
If you have interest in TBB please
refer to Geant4 Multi-threading user-forum (reachable from Geant4 website)
where updates on TBB will be communicated or contact example author at:
adotti@slac.stanford.edu.