skip to main content

Title: Development of Parallel Computing Framework to Enhance Radiation Transport Code Capabilities for Rare Isotope Beam Facility Design

A parallel computing framework has been developed to use with general-purpose radiation transport codes. The framework was implemented as a C++ module that uses MPI for message passing. It is intended to be used with older radiation transport codes implemented in Fortran77, Fortran 90 or C. The module is significantly independent of radiation transport codes it can be used with, and is connected to the codes by means of a number of interface functions. The framework was developed and tested in conjunction with the MARS15 code. It is possible to use it with other codes such as PHITS, FLUKA and MCNP after certain adjustments. Besides the parallel computing functionality, the framework offers a checkpoint facility that allows restarting calculations with a saved checkpoint file. The checkpoint facility can be used in single process calculations as well as in the parallel regime. The framework corrects some of the known problems with the scheduling and load balancing found in the original implementations of the parallel computing functionality in MARS15 and PHITS. The framework can be used efficiently on homogeneous systems and networks of workstations, where the interference from the other users is possible.
 [1] ;  [2] ;  [3]
  1. Michigan State Univ., East Lansing, MI (United States)
  2. Fermi National Accelerator Lab. (FNAL), Batavia, IL (United States)
  3. Research Organization for Information Science and Technology, Ibaraki-ken (Japan)
Publication Date:
OSTI Identifier:
Report Number(s):
DOE Contract Number:
Resource Type:
Technical Report
Research Org:
Michigan State Univ., East Lansing, MI (United States)
Sponsoring Org:
USDOE Office of Science (SC), Nuclear Physics (NP) (SC-26)
Country of Publication:
United States
73 NUCLEAR PHYSICS AND RADIATION PHYSICS; 43 PARTICLE ACCELERATORS; Radiation transport; radiation transport code; high performance computing; parallel computing