Implementation and performance evaluation of a GPU particle-in-cell code

Joshua Estes Payne
Dept. of Physics, Massachusetts Institute of Technology
Massachusetts Institute of Technology, 2012

   title={Implementation and performance evaluation of a GPU particle-in-cell code},

   author={Payne, Joshua Estes},


   school={Massachusetts Institute of Technology}


Download Download (PDF)   View View   Source Source   



In this thesis, I designed and implemented a particle-in-cell (PIC) code on a graphical processing unit (GPU) using NVIDA’s Compute Unified Architecture (CUDA). The massively parallel nature of computing on a GPU nessecitated the development of new methods for various steps of the PIC method. I investigated different algorithms and data structures used in the past for GPU PIC codes, as well as developed some of new ones. The results of this research and development were used to implement an efficient multi-GPU version of the 3D3v PIC code SCEPTIC3D. The performance of the SCEPTIC3DGPU code was evaluated and compared to that of the CPU version on two different systems. For test cases with a moderate number of particles per cell, the GPU version of the code was 71x faster than the system with a newer processor, and 160x faster than the older system. These results indicate that SCEPTIC3DCPU can run problems on a modest workstation that previously would have required a large cluster.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

* * *

* * *

Follow us on Twitter

HGPU group

1496 peoples are following HGPU @twitter

Like us on Facebook

HGPU group

255 people like HGPU on Facebook

* * *

Free GPU computing nodes at hgpu.org

Registered users can now run their OpenCL application at hgpu.org. We provide 1 minute of computer time per each run on two nodes with two AMD and one nVidia graphics processing units, correspondingly. There are no restrictions on the number of starts.

The platforms are

Node 1
  • GPU device 0: nVidia GeForce GTX 560 Ti 2GB, 822MHz
  • GPU device 1: AMD/ATI Radeon HD 6970 2GB, 880MHz
  • CPU: AMD Phenom II X6 @ 2.8GHz 1055T
  • RAM: 12GB
  • OS: OpenSUSE 13.1
  • SDK: nVidia CUDA Toolkit 6.5.14, AMD APP SDK 3.0
Node 2
  • GPU device 0: AMD/ATI Radeon HD 7970 3GB, 1000MHz
  • GPU device 1: AMD/ATI Radeon HD 5870 2GB, 850MHz
  • CPU: Intel Core i7-2600 @ 3.4GHz
  • RAM: 16GB
  • OS: OpenSUSE 12.3
  • SDK: AMD APP SDK 3.0

Completed OpenCL project should be uploaded via User dashboard (see instructions and example there), compilation and execution terminal output logs will be provided to the user.

The information send to hgpu.org will be treated according to our Privacy Policy

HGPU group © 2010-2015 hgpu.org

All rights belong to the respective authors

Contact us: