Files
geant4/examples/extended/parallel/info/NEW_APP_README
T
2016-06-09 16:46:55 +02:00

48 lines
2.3 KiB
Plaintext

$Id: NEW_APP_README,v 1.2 2002-03-09 10:15:01 cooperma Exp $
------------------------------------------------------------------------------
This file and NEW_APP_INSTALL describe important information if you are
planning to create a new parallel Geant4 application, similarly
to the examples ParN02 and ParN04.
This package implements event-level parallelism for Geant4
using the free TOP-C distribution. (TOP-C = Task Oriented Parallel C/C++)
To parallelize an existing sequential Geant4 application, read NEW_APP_INSTALL.
The design goals are:
1. No modification of the Geant4 kernel libraries.
2. Application sessions should be efficient and reproducible
(independently of the number of slave processes and the
order in which they are called by TOP-C)
3. Setting deterministic random seeds on each slave
[ This code assumes that each slave will initialize its random state
based on either the event number or a random seed selected
on the master.]
This assumes that you have already installed CLHEP, Geant4, and TOP-C
TOP-C can be downloaded via its home page:
http://www.ccs.neu.edu/home/gene/topc.html
Other qualifications are:
1. It has only been tested under Linux, although it should be
portable to any other UNIX supported by Geant4.
2. Since Geant4 does not currently support a uniform format for
tracker hits, calorimeter hits, etc., on new applications,
you may have to write marshalling code for your hits, based
on the examples in ParN02 and ParN04.
3. This should support histograms as long as AnalysisManager::Step() is
is trivial. However, I have not had the opportunity
for careful testing. Please write to gene@ccs.neu.edu if you
are including histograms, and especially if you define
AnalysisManager::Step().
4. Currently, this distribution does not support:
trajectory stores, n-tuples, track parallelism,
interactive input commands (no macrofile)
I plan to add those features according to demand.
Probably: a. allowing interactive input
b. track-level parallelism
c. other (trajectory store, PostponeOneEvent(), ...)
Some design assumptions in this ParGeant4 implementation:
1. A collectionName for a G4HitsCollection uniquely identifies the
G4HitsCollection within a G4HCofThisEvent.