PICKSC

Particle-in-Cell Kinetic Simulation Software Center

UCLA Logo
Particle-in-Cell and Kinetic Simulation Software Center
Funded by NSF and SciDac
  • News
    • PICKSC News
    • Collaborators’ News
    • PICKSC Results
    • Software Releases
  • People
  • Publications
    • Overview
    • PICKSC Members’ Publications
    • Reports and Notes
    • Presentations
  • Software
    • Overview
    • Skeleton Code
      • Overview
      • Serial
      • QuickStart
      • OpenMP
      • Vectorization
      • MPI
      • Coarray Fortran
      • OpenMP/MPI
      • OpenMP/Vectorization
      • GPU
    • UPIC
    • Production Codes
      • Overview
      • OSIRIS
        • OSIRIS WIKI
      • QuickPIC
      • UPIC-EMMA
      • OSHUN
    • Educational
    • Fortran 2003 Techniques
  • Research
    • Overview
    • High-Performance Computing
    • Plasma Based Acceleration
    • Nonlinear Optics of Plasmas
  • Engagement
    • Workshops
    • Opportunities
You are here: Home / Software / Skeleton Code / Serial

Serial

Skeleton Codes  :  Serial | QuickStart | OpenMP | Vectorization | MPI | Coarray Fortran | OpenMP/MPI | OpenMP/Vectorization | GPU    |    UPIC Framework  |  Production Codes  |  Educational Software  |  Fortran 2003 Techniques

Serial codes:

python_pic2
pic1
pic2
pic3
bpic1
bpic2
bpic3
dpic1
dpic2
dpic3

The basic serial codes do not make use of any parallelism, and are the base codes for students or researchers who are unfamiliar with PIC codes.

Python Serial Code

Python_pic2 is a 2D electrostatic serial code.  It is essentially equivalent in operation to the Fortran code pic2 below.  More details may be found in its associated README.

2D Serial Electrostatic Spectral code:  python_pic2

Fortran Serial Codes

For the 2D electrostatic code there are 8 procedures in the inner loop, only 3 of which are computationally intensive, and this code contains about 2,000 lines of code in each language. A typical execution time for the particle part of this code is about 33 ns/particle/time-step. For the 2-1/2D electromagnetic code there are 14 procedures in the inner loop, only 4 of which are computationally intensive, and this code contains approximately 4,000 lines of code in each language. A typical execution time for the particle part of this code is about 110 ns/particle/time-step.  For the 2-1/2D Darwin code there are 21 procedures in the inner loop, only 6 of which are computationally intensive, and this code contains approximately 4,000 lines of code in each language. A typical execution time for the particle part of this code is about 256 ns/particle/time-step.  (All timings are on a 2.67GHz Intel Nehalem processor.)

For the 3D electrostatic code there are 8 procedures in the inner loop, only 3 of which are computationally intensive, and this code contains about 2,500 lines of code in each language. A typical execution time for the particle part of this code is about 60 ns/particle/time-step. For the 3D electromagnetic code there are 14 procedures in the inner loop, only 4 of which are computationally intensive, and this code contains approximately 5,500 lines of code in each language. A typical execution time for the particle part of this code is about 150 ns/particle/time-step.  For the 3D Darwin code there are 21 procedures in the inner loop, only 6 of which are computationally intensive, and this code contains approximately 7,000 lines of code in each language. A typical execution time for the particle part of this code is about 470 ns/particle/time-step.  (All timings are on a 2.67GHz Intel Nehalem processor.)

Electrostatic:
1.  1D Serial Electrostatic Spectral code:  pic1
2.  2D Serial Electrostatic Spectral code:  pic2
3.  3D Serial Electrostatic Spectral code:  pic3

Electromagnetic:
4.  1-2/2D Serial Electromagnetic Spectral code:  bpic1
5.  2-1/2D Serial Electromagnetic Spectral code:  bpic2
6.  3D Serial Electromagnetic Spectral code:  bpic3

Darwin:
7.  1-2/2D Serial Darwin Spectral code:  dpic1
8.  2-1/2D Serial Darwin Spectral code:  dpic2
9.  3D Serial Darwin Spectral code:  dpic3

 

Want to contact developer?

Send mail to Viktor Decyk – decyk@physics.ucla.edu 

© 2014 UC REGENTS TERMS OF USE & PRIVACY POLICY

  1. HOME
  2. NEWS
  3. PEOPLE
  4. PUBLICATIONS
  5. RESEARCH
  6. SOFTWARE
  7. OPPORTUNITIES