Memory-efficient Optimization of Gyrokinetic Particle-to-Grid Interpolation for Multicore Processors
|Title||Memory-efficient Optimization of Gyrokinetic Particle-to-Grid Interpolation for Multicore Processors|
|Publication Type||Conference Paper|
|Year of Publication||2009|
|Authors||Madduri, K., Williams S., Ethier S., Oliker L., Shalf J., Strohmaier E., & Yelick K.|
|Conference Name||Supercomputing '09|
We present multicore parallelization strategies for the particle-to-grid interpolation step in the Gyrokinetic Toroidal Code (GTC), a 3D particle-in-cell (PIC) application to study turbulent transport in magnetic-confinement fusion devices. Particle-grid interpolation is a known performance bottleneck in several PIC applications. In GTC, this step involves particles depositing charges to a 3D toroidal mesh, and multiple particles may contribute to the charge at a grid point. We design new parallel algorithms for the GTC charge deposition kernel, and analyze their performance on three leading multicore platforms. We implement thirteen different variants for this kernel and identify the best-performing ones given typical PIC parameters such as the grid size, number of particles per cell, and the GTC-specific particle Larmor radius variation. We find that our best strategies can be 2X faster than the reference optimized MPI implementation, and our analysis provides insight into desirable architectural features for high-performance PIC simulation codes.