Progress in Parallelizing XOOPIC

Abstract

X11-based Unix computers) is presently a serial 2d 3v particle-in-cell plasma simulation. This effort focuses on using parallel and distributed processing to optimize the simulation for large problems. The benefits include increased capacity for memory intensive problems, and improved performance for processor-intensive problems. The MPI library enables the parallel version to be easily ported to massively parallel, SMP, and distributed computers. The philosophy employed here is to spatially decompose the system into computational regions separated by “virtual boundaries”, objects which contain the local data and algorithms to perform the local field solve and particle communication between regions. This implementation reduces the impact of the parallel extension on the balance of the code. Specific implementation details such as the hiding of communication latency behind local computation will also be discussed, as well as code features and capabilities. 1 GOALS FOR PARALLEL XOOPIC XOOPIC has been successful as a single-processor code, and is able to simulate many interesting devices including relativistic klystron oscillators, electron guns, DC discharges with gas chemistry, plasma display panel cells, and highly relativistic beams in accelerators. However, particle-in-cell simulations are very computationally intensive, and on a single processor, some problems may take months to complete. The goals, therefore, for parallel XOOPIC are: Reduce run-times for large, complex simulations from weeks to days. Distribute memory demands across machines, allowing larger simulations than possible otherwise. Cross platform portability (networks of workstations, massively parallel machines, and SMP machines). Identical usage and feature set for parallel and nonparallel versions of XOOPIC, and largely shared source code. Complete source code availability to the general public

    Similar works

    Full text

    thumbnail-image

    Available Versions