Skip to end of metadata
Go to start of metadata

About the interface

G4MPI is a native interface with MPI libraries. The directory contains a Geant4 UI library and a couple of parallelized examples. Using this interface, users applications can be parllelized with different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI, and so on.

System Requirements:

  • Platform
  • Linux (32bit/64bit)
  • MacOS (Tiger)
  • MPI implementation
  • Optional
  • ROOT for histogramming/analysis

G4MPI UI library

G4MPI UI library is provided in the "mpi_interface" directory. Start with building the G4MPI UI library according to the instruction in the directory.

How to make parallel applications:

  • An example of a main program:
Error rendering macro 'code' : Invalid value specified for parameter lang

Notes about session shell:

LAM/MPI users can use "G4tcsh" as an interactive session shell.
For other users (Open MPI/MPICH2), plese use G4csh (default).

How to use:

MPI runtime rnvironment

1. Make hosts/cluster configuration of your MPI environment.

2. Launch MPI runtime environment, typically executing
lamboot (LAM) / mpdboot (MPICH2).

How to run

For example,

Instead, "mpirun" command is more convenient for LAM users.

MPI G4UI commands:

G4UI commands handling the G4MPI interface are placed in /mpi/.

Notes:

While "/run/beamOn" is executed in foreground, the "/mpi/beamOn" command invokes beam-on in background, so you can input UI commands even while event processing.

The original "/control/execute" and "/run/beamOn" are overwritten with "/mpi/execute" and "/mpi/.beamOn" commands, customized for the MPI interface.

Examples

There are a couple of examples for Geant4 MPI applications.

In some cases, you need to set some additional environment variables
for running examples:

  • G4LEVELGAMMADATA : directory path for the data of
    "low energy electromagnetic processes".

For running ROOT applications,

  • ROOTSYS : root path of the ROOT package
  • LD_LIBRARY_PATH : add ROOT library path, such as $(ROOTSYS)/lib/root

exMPI01
A simple application.

  • Geometry : chamber / calorimeter
  • Primary : particle gun (200 MeV electron as default)
  • Physics List : standard EM
  • Particles are transported in a geometry without any scoring.
  • Learn how to parallelize your G4 session.

exMPI02 (ROOT application)
An example of dosimetry in a water phantom.

  • Geometry : water phantom
  • Primary : particle gun (200 MeV proton as default)
  • Physics List : QGSP_BIC
  • Score dose distribution in a water phantom.
  • Learn how to paralleize your applications.
  • Create a ROOT file containing histograms in each node.
  • treat multiple outputs properly:
    each slave node generate a ROOT file, whose file name should
    be different from each other.
Labels: