A GPU-based Laplacian Solver for Magnetostatic Boundary Value Problems
Welitharage, Piyumi Madhubhashini
Welitharage, Piyumi Madhubhashini. A GPU-based Laplacian Solver for Magnetostatic Boundary Value Problems; A Thesis submitted to the Faculty of Graduate Studies of The University of Winnipeg, in partial fulfillment of the requirements of the degree of Master of Science, Department of Applied Computer Science, University of Winnipeg. Winnipeg, Manitoba, Canada: University of Winnipeg, 2019.
Modern graphics processing units (GPUs) have more computing power than CPUs, and thus, GPUs are proposed as more efficient compute units in solving scientific problems with large parallelizable computational loads. In our study, we present a GPU algorithm to solve a magnetostatic boundary value problem, which exhibits parallel properties. In particular, we solve the Laplace equation to find the magnetic scalar potential in the region between two coaxial cylinders. This requires discretizing the problem domain into small cells and finding the solution at each node of the generated mesh. The smaller the cell size is the more accurate the solution will be. More accurate solution leads to a better estimation of the surface current needed to generate a uniform magnetic field inside the inner cylinder, which is the final goal. Although solving a mesh with a large number of smaller cells is computationally intensive, GPU computing provides techniques to accelerate performance. The problem domain is discretized using the finite difference method (FDM) and the linear system of equations obtained from the FDM is solved by the successive over relaxation (SOR) method. The parallel program is implemented using CUDA framework. The performance of the parallel algorithm is optimized using several CUDA optimization strategies and the speedup of the parallel GPU implementation over the sequential CPU implementation is provided.