Development and performance analysis of a UPC Particle-in-Cell code

@inproceedings{Markidis2010DevelopmentAP,
  title={Development and performance analysis of a UPC Particle-in-Cell code},
  author={Stefano Markidis and Giovanni Lapenta},
  booktitle={PGAS '10},
  year={2010}
}
The development and the implementation of a Particle-in-Cell code written in the Unified Parallel C (UPC) language for plasma simulations with application to astrophysics and fusion nuclear energy machines are presented. A simple one dimensional electrostatic Particle-in-Cell code has been developed first to investigate the implementation details in the UPC language, and second to study the UPC performance on parallel computers. The initial simulations of plasmas with the UPC Particle-in-Cell… 

Figures and Tables from this paper

Intel Labs Europe Implementation of a 2 D Electrostatic Particle in Cell algorithm in UniÞed Parallel C with dynamic load-balancing
TLDR
This paper reports on the first implementation of a 2D electrostatic PIC code in Unified Parallel C which also includes load balancing capabilities.
Implementation of a 2 D Electrostatic Particle in Cell algorithm in Uni ed Parallel C with dynamic load-balancing
TLDR
This paper reports on the first implementation of a 2D electrostatic PIC code in Uni ed Parallel C which also includes load balancing capabilities.
Performance Evaluation of a Two-Dimensional Lattice Boltzmann Solver Using CUDA and PGAS UPC Based Parallelisation
TLDR
This paper provides a detailed comparison between the CUDA and UPC parallelisation through the parallelisation of a two-dimensional lattice Boltzmann method based fluid flow solver and concludes that the investigated UPC compilers could not efficiently treat the shared memory space.
Parallel simulation of Brownian dynamics on shared memory systems with OpenMP and Unified Parallel C
TLDR
The design and implementation of a parallel simulation of Brownian dynamics with hydrodynamic interactions for shared memory systems using two approaches: (1) OpenMP directives and (2) the Partitioned Global Address Space (PGAS) paradigm with the Unified Parallel C (UPC) language are presented.
The EPiGRAM Project: Preparing Parallel Programming Models for Exascale
TLDR
The interoperability of message-passing and PGAS is enhanced by integrating them in one PGAS-based MPI implementation, called EMPI4Re, implementing MPI endpoints and improving GASPI interoperability with MPI.
Design and Implementation of a Parallel Research Kernel for Assessing Dynamic Load-Balancing Capabilities
TLDR
A new PRK that requires dynamic load balancing, and provides knobs for controlling workload behavior is presented, inspired by Particle-In-Cell applications and captures one of the computational patterns in such codes.

References

SHOWING 1-10 OF 14 REFERENCES
Multi-scale simulations of plasma with iPIC3D
Benchmark measurements of current UPC platforms
  • Zhang ZhangS. Seidel
  • Computer Science
    19th IEEE International Parallel and Distributed Processing Symposium
  • 2005
TLDR
This paper is the first to compare the performance of most of the currently available UPC implementations on several commonly used parallel platforms and develops a snapshot of the relative performance of current UPC platforms.
Computer simulation using particles
Computer experiments using particle models A one-dimensional plasma model The simulation program Time integration schemes The particle-mesh force calculation The solution of field equations
UPC Performance and Potential: A NPB Experimental Study
TLDR
This paper gives an overview of the concepts and features of UPC and establishes, through extensive performance measurements of NPB workloads, the viability of the UPC programming language compared to the other popular paradigms.
F
OF THE DISCLOSURE A gas Spring for a drawing table which has a cylinder, a piston in the cylinder, and a piston rod projecting from the piston through one end wall of the cylinder, the other end wall
Iterative methods for sparse linear systems
TLDR
This chapter discusses methods related to the normal equations of linear algebra, and some of the techniques used in this chapter were derived from previous chapters of this book.
JW Eastwood: Computer Simulation Using Particles
  • Taylor & Francis
  • 1989
Implementation and performance of a particle‐in‐cell code written in Java
TLDR
The conclusion is that with Parsek, object‐oriented Java can reach CPU speed performances more or less comparable with procedural FORTRAN, which is in agreement with the most recent benchmarks, but is at variance with widely held misconceptions about the alleged slowness of Java.
Z
  • Budimilic: Implementation and performance of a particle-in-cell code written in Java. Concurrency and computation
  • 2005
S
  • Seidel: Benchmark measurements of currents UPC platforms. 4th Workshop on Performance Modeling, Evaluation and Optimization of Parallel and Distributed Systems
  • 2005
...
...