The particle-mesh spreading operation maps a value at an arbitrary particle position to contributions at regular positions on a mesh. This operation is often used when a calculation involving irregular positions is to be performed in Fourier space. We study several approaches for particle-mesh spreading on GPUs. A central concern is the use of atomic operations. We are also concerned with the case where spreading is performed multiple times using the same particle configuration, which opens the possibility of preprocessing to accelerate the overall computation time. Experimental tests show which algorithms are best under which circumstances.
Guo, X., Liu, X., Xu, P., Du, Z., & Chow, E. (2015). Efficient particle-mesh spreading on GPUS. In Procedia Computer Science (Vol. 51, pp. 120–129). Elsevier B.V. https://doi.org/10.1016/j.procs.2015.05.210