A Fast Poisson Solver with Periodic Boundary Conditions for GPU Clusters in Various Configurations
University of Cincinnati
University of Cincinnati, 2014
@phdthesis{rattermann2014fast,
title={A Fast Poisson Solver with Periodic Boundary Conditions for GPU Clusters in Various Configurations},
author={Rattermann, Dale Nicholas},
year={2014},
school={University of Cincinnati}
}
Fast Poisson solvers using the Fast Fourier Transform on uniform grids are especially suited for parallel implementation, making them appropriate for portability on graphical processing unit (GPU) devices. The goal of the following work was to implement, test, and evaluate a fast Poisson solver for periodic boundary conditions for use on a variety of GPU configurations. The solver used in this research was FLASH, an immersed-boundary-based method, which is well suited for complex, time-dependent geometries, has robust adaptive mesh refinement/de-refinement capabilities to capture evolving flow structures, and has been successfully implemented on conventional, parallel supercomputers. However, these solvers are still computationally costly to employ, and the total solver time is dominated by the solution of the pressure Poisson equation using state-of-the-art multigrid methods. FLASH improves the performance of its multigrid solvers by integrating a parallel FFT solver on a uniform grid during a coarse level. This hybrid solver could then be theoretically improved by replacing the highly-parallelizable FFT solver with one that utilizes GPUs, and, thus, was the motivation for my research. In the present work, the CPU-utilizing parallel FFT solver (PFFT) used in the base version of FLASH for solving the Poisson equation on uniform grids has been modified to enable parallel execution on CUDA-enabled GPU devices. New algorithms have been implemented to replace the Poisson solver that decompose the computational domain and send each new block to a GPU for parallel computation. One-dimensional (1-D) decomposition of the computational domain minimizes the amount of network traffic involved in this bandwidth-intensive computation by limiting the amount of all-to-all communication required between processes. Advanced techniques have been incorporated and implemented in a GPU-centric code design, while allowing end users the flexibility of parameter control at runtime in order to maximize throughput with all data sizes. The new code also allows the use of multiple GPU devices in a variety of configurations. The elapsed solution time for the newly implemented GPU-based solvers for a Poisson equation with known source terms demonstrate speed-ups of up to 3.5 times faster than the CPU-based solver.
November 3, 2014 by hgpu