48 lines
2.3 KiB
Plaintext
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.
|