# ParGeant4 README

by Gene Cooperman (gene@ccs.neu.edu)
There is also a ParGeant4 Home Page, which will be updated more frequently than this page.

This distribution implements event-level parallelism for Geant4 using the free TOP-C distribution. (TOP-C = Task Oriented Parallel C/C++)

These are example parallelizations that parallelize examples/novice/N02 and examples/novice/N04 of the Geant4 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.  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. histograms (I believe histograms work now, but I don't
                            have a ready test application.  If someone does, could
                            you either check yourself if the parallelization works
                            for histograms, or tell me, and I'll parallelize it.)
                      b. track-level parallelism
                      c. allowing interactive input
                      d. other

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 postscript.
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.)