Abstract

Graphics processor units (GPUs) have started becoming an integral part of high performance computing. We develop a GPU based 3D-unstructured geometric multigrid solver, which is extensively used in Computational Fluid Dynamics (CFD) applications. Parallelization for GPUs is not straightforward because of the irregularity of the mesh. Using combination of graph coloring and greedy maximal independent set computations, we obtain significant performance improvements in the multigrid solver and its parallelization. We use NVIDIAs CUDA programming model for the implementation. In our experiments, we solve heat conduction problems on unstructured 3D meshes. Different schemes for implementing the multigrid algorithm are evaluated. For a mesh of size 1.6 million, our multigrid GPU implementation gives 24 times speed up compared to multigrid serial implementation and 1630 times speed up compared to non-multigrid serial implementation.