This distribution implements event-level parallelism for Geant4 using the free TOP-C distribution. (TOP-C = Task Oriented Parallel C/C++)
You will find this as part of the Geant4 4.1 distribution. It is in examples/extended/parallel/ParN02 and .../ParN04 . These are example parallelizations of N02 and N04 are provided, along with information about how to similarly parallelize other applications.
Alternatively, you can download the source from the (ftp directory). Both ParN02.tar.gz and ParN04.tar.gz are available. These are example parallelizations that parallelize examples/novice/N02 and examples/novice/N04 of the Geant4 4.0 distribution. The files also contain information on how to write new parallel Geant4 applications or parallelize existing sequential Geant4 applications.
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. `topc-config' is already in your path. 2. It has only been tested under Linux, although it should be portable to any other UNIX supported by Geant4. 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 email@example.com if you are including histograms, and especially if you define AnalysisManager::Step(). 4. Currently, this distribution does not support: histograms, 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(), ...)
ParGeant4 has now been demonstrated to run over the Computational Grid
using a new TOP-C communication layer, with support for the Grid,
based on Ampic. There is a paper
reporting on this in
G. Cooperman, H. Casanova, J. Hayes and T. Witzel, ``Using TOP-C and AMPIC to Port Large Parallel Applications to the Computational Grid'', Proc. of 2nd IEEC/ACM Interantional Symposium on Cluster Computing and the Grid (CCGrid), 2002, to appear
(This material is based in part upon work supported by the National Science Foundation under Grants No. 9732330 and 9872114. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.)