dc.description.abstract |
Open source Field Operation and Manipulation (OpenFOAM) is a free, Opensource, feature rich Computational Fluid Dynamics (CFD) software that is used to solve a variety of problems in continuum mechanics. It has a large user base spread across various science and engineering disciplines and used in both academic and commercial contexts. Depending on the type of problem and required accuracy, an OpenFOAM simulation may take several weeks to complete. OpenFOAM simulations generally involve preprocessing, discretization, applying linear solvers and post processing. For sufficiently large simulations, linear solvers contribute to a large portion of the execution time. Hence, Graphics Processing Units (GPU) based linear solvers can give a significant speedup compared to the native CPU implementation. AmgX is a state of the art, high performance library which provides an elegant way to accelerate linear solvers on GPUs. AmgX library provides various flavors of multi-grid solvers, Krylov methods, smoothers, support for block systems and support for MPI. It also provides a flexible way to use nested solvers, smoothers and preconditioners. In this work, we implemented OpenFOAM solvers on GPUs using AmgX library and a set of helper functions which enables seamless integration of these solvers to OpenFOAM. These will take care of converting the linear system to AmgX’s format and apply the user specified configurations to solve it. Experiments carried out using a wind rotor simulation and a Fan wing simulations shows that the use of AmgX library gives upto 10% speedup in the total simulation time and 2x speedup in solving the linear system. |
en_US |