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